トップページ > 記事閲覧
PCディスプレイのHzを取得する関数
名前:TS 日時: 2021/09/09 13:57

表題の件、PCディスプレイのリフレッシュレートを取得する関数はありますか? 60Hzモニター環境で制作した私のアプリが、144Hzモニターになると爆速になる現象が発生しました。 タイマーでフレームレートを合わせようと思うのですが、 60Hzではそのまま垂直同期させて、60Hzより大きければタイマー制御に自動で切り替わるように組みたいと考えてます。 P.S. 最近では360Hzのディスプレイも出てきてるので、いまのうちに対応したいところです…w
メンテ

Page: 1 |

Re: PCディスプレイのHzを取得する関数 ( No.1 )
名前:はるかぜ 日時:2021/09/09 17:44

過去ログを検索したらそれらしいものがヒットしました dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?mode=past&no=1415 以下引用 int RefreshRate ; HDC hdc ; hdc = GetDC( GetMainWindowHandle() ) ; // デバイスコンテキストの取得 RefreshRate = GetDeviceCaps( hdc, VREFRESH ) ; // リフレッシュレートの取得 ReleaseDC( GetMainWindowHandle(), hdc ) ; // デバイスコンテキストの解放
メンテ
Re: PCディスプレイのHzを取得する関数 ( No.2 )
名前:名無三 日時:2021/09/10 08:41

可変FPSに対応するのも良いと思いますよ。 (管理人さんもこう言うのは推奨しないと思いますが)足し算に*60.f/GetFPS()するだけです。 掛け算他は定積分で指揮を求めるとok
メンテ
Re: PCディスプレイのHzを取得する関数 ( No.3 )
名前:TS(解決) 日時:2021/09/13 09:34

回答ありがとうございます。 >はるかぜ様 DXライブラリ内の関数のみ見ていたので、Windows系の関数は見落としてました。 試しにやってみたら60Hzをちゃんと取得できました。 >南無三 様 Unityではデフォルトで可変FPSになってるので、今の内に対応するのも手かもしれないですね。 参考にさせていただきます。
メンテ

Page: 1 |

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

   クッキー保存