OpenSiv3D icon indicating copy to clipboard operation
OpenSiv3D copied to clipboard

VSync無効時にフレームレートを制限する機能を追加

Open m4saka opened this issue 1 year ago • 0 comments

下記Issueについて実装しました。

https://github.com/Siv3D/OpenSiv3D/issues/1180

実装にあたって気になっている点は下記2点です。

  1. 目標フレームレート(fps引数)にゼロや負の値を指定した時に例外を投げているのは問題ないか?
  2. 目標フレームレート(fps引数)にNaNや+inf、-infを指定した場合も例外を投げるべきか? 補足事項として、Qiita記事での実装ではMaxDrift(=10ミリ秒)という定数値を導入していましたが、now < sleepUntilの場合のみsleepを実行することで不要になったので、今回の実装には入っていません。

手元では現状Windows版のみで動作確認しているので、macOS版、Linux版、Web版でも正常動作するかどうかは今後確認予定です。 (Xcodeプロジェクトへのソースファイル追加についても現状は未対応です)

下記の残作業が完了したらDraft PR→PRに変更予定です。

  • Xcodeプロジェクトのソースファイル一覧更新
  • コメントアウトで残っている旧SetTargetFrameRateHz用のコードの削除

m4saka avatar Feb 16 '24 00:02 m4saka