GLFW ライブラリと VSync に少し問題があります。統合プロセッサと「高性能 NVIDIA プロセッサ」の両方で、非常に基本的な GLFW プログラムをテストしています。
VSync 呼び出しを使用して統合プロセッサでプログラムを実行すると、予想どおりglfwSwapInterval(1)
、約 16 ミリ秒/フレーム (~60 FPS) が得られます。ただし、NVIDIA プロセッサで同じ VSync 呼び出しを使用して同じプログラムを実行すると、フレーム レートは約 30 ミリ秒/フレーム (~30 FPS) に低下します。呼び出しなしでプログラムをテストしてみましたglfwSwapInterval
が、統合プロセッサ上で実行すると期待どおりに動作しました (1 ミリ秒/フレーム未満)。これを NVIDIA プロセッサでテストしたところ、フレームあたり約 24 ミリ秒になりましたが、これは間違いなく正しくありません。呼び出しでプログラムを実行するとglfwSwapInterval(0)
、両方のプロセッサが 1 ミリ秒/フレーム未満で期待どおりに実行されます。
最初は、これは GLFW の問題かもしれないと考えましたが、もうよくわかりません。NVIDIA プロセッサの設定を確認したところ、VSync オプションはアプリケーションによって制御されているはずです。
これもドローコールのない基本的な GLFW プログラムです。問題の原因となっている可能性のあるものについての洞察をいただければ幸いです。必要に応じて、さらに情報を提供できます。