左から右に移動する画像がStretchDIBits
ウィンドウに表示される C/C++ MFC アプリケーションがあります。そして、ウィンドウで画面のティアリングが発生します。
ちらつきについて話しているわけではありませんが、ちらつきは画面全体の点滅に似ているため、画面のティアリングは画像が右または左に移動するときに同期されない画像の一部の散乱を引き起こすため、移動する垂直線が一時的に壊れたように見えることを理解してください非常に短い期間。
最初はそれが原因かと思いStretchDIBits
ましたが、SetDIBitsToDevice に変更してもまったく効果がありませんでした。だから私はそれがGDIであると疑っていて、それについてグーグルで調べたことが私の疑いを裏付けました。
問題を解決するためにこの記事を見ましたが、私の意見では、DirectX を直接使用する方がクリーンです。
したがって、この時点で、このティアリングを防ぐために DirectX または OpenGL を使用することを考えていますが、このアプローチが機能するかどうか、またはより良いアプローチがあるかどうかはわかりません。だから私の質問は
- OpenGL または DirectX を使用すると、この問題は解決しますか?
- OpenGL と DirectX を使用するよりも良い方法はありますか?
手がかりをいただければ幸いです。
時間を節約するために、MFC を使用しないことをお勧めしません。これは要件の 1 つです。