f4adbf41b5
* Luaで背景をカスタマイズ可能に * 不具合の修正 * dllファイルなどの移動
74 lines
1.3 KiB
C#
74 lines
1.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
namespace FDK
|
|
{
|
|
public class CFPS
|
|
{
|
|
// プロパティ
|
|
|
|
public int n現在のFPS
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
public double DeltaTime
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
public bool bFPSの値が変化した
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
|
|
// コンストラクタ
|
|
|
|
public CFPS()
|
|
{
|
|
this.n現在のFPS = 0;
|
|
this.DeltaTime = 0;
|
|
this.timer = new CTimer( CTimer.E種別.MultiMedia );
|
|
this.基点時刻ms = this.timer.n現在時刻;
|
|
this.内部FPS = 0;
|
|
this.bFPSの値が変化した = false;
|
|
}
|
|
|
|
|
|
// メソッド
|
|
|
|
public void tカウンタ更新()
|
|
{
|
|
this.timer.t更新();
|
|
this.bFPSの値が変化した = false;
|
|
|
|
const long INTERVAL = 1000;
|
|
this.DeltaTime = (this.timer.n現在時刻 - this.PrevFrameTime) / 1000.0;
|
|
PrevFrameTime = this.timer.n現在時刻;
|
|
while ( ( this.timer.n現在時刻 - this.基点時刻ms ) >= INTERVAL )
|
|
{
|
|
this.n現在のFPS = this.内部FPS;
|
|
this.内部FPS = 0;
|
|
this.bFPSの値が変化した = true;
|
|
this.基点時刻ms += INTERVAL;
|
|
}
|
|
this.内部FPS++;
|
|
}
|
|
|
|
|
|
// その他
|
|
|
|
#region [ private ]
|
|
//-----------------
|
|
private CTimer timer;
|
|
private long 基点時刻ms;
|
|
private long PrevFrameTime;
|
|
private int 内部FPS;
|
|
//-----------------
|
|
#endregion
|
|
}
|
|
}
|