Skip to content

追跡周期ごとの色変換・翻訳ループの重複処理を減らす #759

Open

Description

@Freeesia

背景

#742 で、表示の揺れを抑えるため、キャプチャ間隔と独立して100ms周期で追跡を再処理するようにした。キャプチャ間隔の目的は表示の揺れの抑制であり、負荷の軽減ではない。

問題

  • 追跡結果が変わらない周期でも、毎回 IColorModule.ConvertColorAsync(画像から色を取得)、キャッシュ取得、翻訳ループへの要求送信を行う。
  • 翻訳ループは、同じ文字列に対して翻訳前フィルター・キャッシュ確認・翻訳後フィルター・UI更新を繰り返す。LLMのOCR補正フィルターはキャッシュにより外部呼び出しは増えないが、フィルター処理とUIコレクションの更新は毎回行われる。

対応方針案

  • 追跡結果(文字列・矩形)が前回と同じ場合は、色変換・翻訳要求・UI更新を省く。
  • 色変換は新しい画像のとき、または矩形が変わった領域だけ行う。

完了条件

  • 追跡結果が変わらない間、色変換・翻訳ループ・UI更新が繰り返されない。
  • 表示の追従と揺れの抑制が現在と同等である。

関連

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions