Windows で画面のリフレッシュ レートを取得する 2 つの方法を知っています。1 つ目は単純なEnumDisplaySettings
関数で、丸められた画面のリフレッシュ レート値 (fps) を含む構造体を埋めます。2 つ目は DirectX を使用する方法です。これにより、初期化中に、分子と分母を互いに除算してリフレッシュ レートを取得するオプションが提供されます。
私自身の経験からすると、最初の方法では不十分です。私のラップトップ モニターは 60 の正確なフレーム レートを達成することができません。むしろ、fps で 59.9 と 60.1 の境界に複数の設定があります。2 番目の方法では、VSync を直接使用せずに VSync の効果を実現するために使用できる正確な浮動小数点値が得られます。
OpenGL には信頼できる VSync がないため、これを求めています。起動時に追加のグラフィックス API を 1 つの小さな機能に使用するためだけに依存したくありません。別の方法はありますか?