プログラムで 0 ~ 2% の CPU のみを使用するようにすると (CPU を集中的に使用する OpenGL 関数を削除)、マウスの座標が遅くなり始めます。CPU を 100% 使用すると (opengl 関数を有効にすると)、マウス座標が滑らかになります。opengl 関数はマウス座標に対して何もしないことに注意してください。下の画像を見てください。マウス座標を使用して回転関数の値を記録しました。
これは 100% の CPU 使用率です (見た目どおり): ラグはありません http://img15.imageshack.us/img15/1304/mousecursorsmoothcoords.png
-
これは 2% の CPU 使用率です: ラグ http://img5.imageshack.us/img5/5514/mousecursorlaggedcoords.png
マウスカーソルの位置を使用して回転角度を変更しているため、これは非常に厄介な問題であり、上記の画像の場合、回転が非常に遅れているように見えます。
独自の補間などを作成できるかもしれませんが、これの原因と修正方法を知りたいです。
WM_MOUSEMOVE メッセージでマウス座標を取得し、回転コードの前にすべてのフレームで GetCursorPos() を使用しようとしましたが、違いはありません。
編集:スムーズにするために CPU 使用率が 100% である必要はないことに気付きましたが、CPU を「ウェイクアップ」するだけで、CPU 使用率が低くてもスムーズに維持されます。