1
0
mirror of synced 2024-12-19 19:06:02 +01:00
OpenTaiko/FDK19/コード/00.共通/CFPS.cs

74 lines
1.3 KiB
C#
Raw Normal View History

2021-09-21 00:16:38 +02:00
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;
}
2021-09-21 00:16:38 +02:00
public bool bFPSの値が変化した
{
get;
private set;
}
// コンストラクタ
public CFPS()
{
this.n現在のFPS = 0;
this.DeltaTime = 0;
2021-09-21 00:16:38 +02:00
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 )
2021-09-21 00:16:38 +02:00
{
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;
2021-09-21 00:16:38 +02:00
private int FPS;
//-----------------
#endregion
}
}