トップページ > 過去ログ > 記事閲覧
リフレッシュレートの取得
名前:temu 日時: 2006/11/14 10:53

はじめまして、temuと申します。 DXライブラリにはいつもお世話になっております。 ミニテクニックの項でScreenFlip関数を使ってフレームレートを計測する方法を読ませて頂きましたが、 モニタのプロパティで設定されたリフレッシュレートを直接取得する方法は無いのでしょうか。 わざわざ垂直同期信号の間隔で計測しているということは、それ以外では原理的に無理ということなのでしょうか…。 お答え頂ければ幸いです。

Page: 1 |

Re: リフレッシュレートの取得 ( No.1 )
名前:管理人 日時:2006/11/14 15:35

 temuさん始めまして、DXライブラリの管理人です。 > ミニテクニックの項でScreenFlip関数を使ってフレームレートを計測する方法を読ませて頂きましたが、 > モニタのプロパティで設定されたリフレッシュレートを直接取得する方法は無いのでしょうか。  Windows2000 又は WindowsXP ではリフレッシュレートを取得する APIがありますが、Windows98,98SE,ME には無いので、その場合は ScreenFlip を使った計測の様な手段で調べる必要があります。  なので 2000 か XP の場合はリフレッシュレートを取得するAPIを 使用して、それ以外の場合は計測、というのがベストだと思います。  と、そこまで言ってみて、それだけの処理であればDXライブラリの 機能としてあっても良いかなと思いましたので、それらの処理をした 上で得たリフレッシュレートの値を返す関数を追加してみました。  もしご必要でしたらこちらのバージョンをダウンロードしてください。m(_ _)m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe //VC用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe //BCC用 (中身を既存のファイルに上書きして、BCCをお使いの場合は『再構築』、 VCをお使いの場合は『リビルド』をして下さい)  こちらのバージョンには GetRefreshRate という関数が追加されています。 // 現在の画面のリフレッシュレートを取得する int GetRefreshRate( void ) ;  引数は無く、戻り値はリフレッシュレートとなっています。
Re: リフレッシュレートの取得 ( No.2 )
名前:temu 日時:2006/11/15 15:27

ご回答ありがとうございます。 機能追加までして頂けるとは感謝の限りです(^^;) さっそく使わせて頂きます。

Page: 1 |