Skip to content

インターフェイス ITime

Namespace: GameCanvas

csharp
public interface ITime

プロパティ

CurrentFrame

csharp
int CurrentFrame { get; }

アプリ起動からの累計フレーム数

CurrentTime

csharp
System.DateTimeOffset CurrentTime { get; }

現在フレームの日時

CurrentTimestamp

csharp
long CurrentTimestamp { get; }

現在フレームのUnixタイムスタンプ

NowTime

csharp
System.DateTimeOffset NowTime { get; }

現在(関数呼び出し時点)の日時

TargetFrameInterval

csharp
double TargetFrameInterval { get; }

フレーム更新間隔の目標値(秒)

TargetFrameRate

csharp
int TargetFrameRate { get; }

フレームレート(1秒あたりのフレーム数)の目標値

TimeSincePrevFrame

csharp
float TimeSincePrevFrame { get; }

ひとつ前のフレームからの経過時間(秒)

TimeSinceStartup

csharp
float TimeSinceStartup { get; }

現在フレームのアプリ起動からの経過時間(秒)

VSyncEnabled

csharp
bool VSyncEnabled { get; }

垂直同期の有無

備考

この設定は、SetFrameIntervalSetFrameRate の第二引数から変更できます。

メソッド

SetFrameInterval(double, bool)

csharp
void SetFrameInterval(in double targetDeltaTime, bool vSyncEnabled = true)

UpdateGame や DrawGame が呼び出される時間間隔を設定します。

備考

垂直同期を無効にした場合、間隔の揺らぎは減少しますが、ディスプレイのリフレッシュレートを常に無視して描画するため、画面のちらつきが発生する場合があります。

パラメーター

  • targetDeltaTime — フレーム更新間隔の目標値(秒)
  • vSyncEnabled — 垂直同期の有無

SetFrameRate(int, bool)

csharp
void SetFrameRate(in int targetFrameRate, bool vSyncEnabled = true)

フレームレートの目標値を設定します。

小数点以下を指定したい場合は、この関数の代わりに SetFrameInterval を使用してください。

備考

垂直同期を無効にした場合、間隔の揺らぎは減少しますが、ディスプレイのリフレッシュレートを常に無視して描画するため、画面のちらつきが発生する場合があります。

パラメーター

  • targetFrameRate — フレームレート(1秒あたりのフレーム数)の目標値
  • vSyncEnabled — 垂直同期の有無

Released under the MIT License.