トップページ > 記事閲覧
垂直同期のタイミングまでの時間を取得する方法はありますか?
名前:長峰 日時: 2018/12/30 14:57

ScreenFlipまでの間一定の処理を続けて、垂直同期の直前に処理を打ち切って描画するといった処理を行いたいです。
メンテ

Page: 1 |

Re: 垂直同期のタイミングまでの時間を取得する方法はありますか? ( No.1 )
名前:管理人 日時:2018/12/31 02:21

垂直同期のタイミングまでの時間を取得する方法はありません そして仮に取得できたとしても ScreenFlip を実行してから実際に画面に表示されるまでの タイミングはOSやグラフィックスデバイスのドライバによって管理されているので、 仮にハードウェア的な意味での垂直同期の直前に ScreenFlip を実行したとしても実際に 表示の処理が行われるのは次の次の垂直同期のタイミングになってしまうなど、 正確な制御をすることはできません これまでも『PCの性能に余裕がある場合は、垂直同期の直前まで処理を行わず、直前になってから 1フレーム分の処理を行うことで入力の遅延を少なくする』ようにするソフトなどがありましたが、 この辺りの処理はOSのバージョンが変わると挙動が変化してしまうことが大抵なので WindowsXP の頃は意図した通りに動作していても、WindowsVista 以降では意図した通りに 動作しなかったりします ( 私もウィンドウモード時のティアリングを抑えるために垂直同期を待って ScreenFlip の処理を  行うような処理を WindowsXP 時代に組みましたが、WindowsVista 以降では画面周りの処理が  変わってしまい効果がなくなると共に動作がガクガクになってしまい、その処理を削除することになりました ) なので、残念ですが Windows 環境においては垂直同期のシビアなタイミングを利用した処理を 組もうとするのは避けたほうが良いと思います
メンテ
Re: 垂直同期のタイミングまでの時間を取得する方法はありますか? ( No.2 )
名前:長峰 日時:2018/12/31 12:51

とても詳しいご説明ありがとうございます。 別プロセスに処理を行わせるなど、他のアプローチを試してみます。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存