Table of Contents

Interface ITime

Namespace
GameCanvas
Assembly
GameCanvas.dll
public interface ITime

Properties

CurrentFrame

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

int CurrentFrame { get; }

Property Value

int

CurrentTime

現在フレームの日時

DateTimeOffset CurrentTime { get; }

Property Value

DateTimeOffset

CurrentTimestamp

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

long CurrentTimestamp { get; }

Property Value

long

NowTime

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

DateTimeOffset NowTime { get; }

Property Value

DateTimeOffset

TargetFrameInterval

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

double TargetFrameInterval { get; }

Property Value

double

TargetFrameRate

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

int TargetFrameRate { get; }

Property Value

int

TimeSincePrevFrame

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

float TimeSincePrevFrame { get; }

Property Value

float

TimeSinceStartup

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

float TimeSinceStartup { get; }

Property Value

float

VSyncEnabled

垂直同期の有無

bool VSyncEnabled { get; }

Property Value

bool

Remarks

この設定は、SetFrameInterval(in double, bool)SetFrameRate(in int, bool) の第二引数から変更できます。

Methods

SetFrameInterval(in double, bool)

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

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

Parameters

targetDeltaTime double

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

vSyncEnabled bool

垂直同期の有無

Remarks

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

SetFrameRate(in int, bool)

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

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

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

Parameters

targetFrameRate int

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

vSyncEnabled bool

垂直同期の有無

Remarks

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