1

のカスタム カーソル グラフィックをコーディングしようとしていますWindows 8。1 つまたは任意の数の を使用しWiimotesて にタッチ入力を送信するアプリケーションに使用します。Windowsつまり、複数の を表示できる必要がありますcursorscursorビルドインは遠くから見ると非常に見にくいので、タッチには使用できません。

現在、 でカーソル グラフィックを描画するカーソルごとに個別の透明なウィンドウを使用していますDirectXが、 を実際に再配置するには、とを使用cursorしてウィンドウを現在のcursor位置に移動しwin32ます。これにより、再配置の待ち時間はほぼゼロになりますが、過度の処理時間がかかります。同時に複数のカーソルを移動すると近くなることがあります。SendMessageSetWindowPos30%

私が最初に試みたのは、画面全体を覆う透明なウィンドウに描画することでした。WPFキャンバス上の形状の再配置を伴うウィンドウと、transform を変更することによるD3D DirectXインスタンスへの直接描画と再配置の両方を試しました。これらは、非常に煩わしい数ミリ秒のレイテンシーをもたらします。Desktop Window Managermatrixes

cursor低遅延で低遅延で動く画面に描画するにはどうすればよいCPUですか?

4

1 に答える 1

3

D3D / DirectDraw を使用している場合。

ダブルバッファリングは入力遅延を引き起こすことが知られており、トリプルはさらに多くの原因を引き起こします。また、VSYNCを考慮すると、プロセスは 20 ミリ秒もブロックされます。

これは、入力イベント間に 20 ミリ秒のギャップがあることを意味します。

通常、ダブル/トリプル バッファリングは問題ではありません。VSYNC は、画面のレンダリングに必要な時間の 2000% をブロックするためです。

通常、画面のレンダリングには 1 ~ 2 ミリ秒かかりますが、VSYNC の待機には 17 ~ 24 ミリ秒かかります。

例 [c++]:
- 見てみましょうhere

于 2013-07-09T22:43:00.167 に答える