我正在写一个Windows应用程序,它在地图上显示实时数据。有没有简单的方法来获得FPS(帧每秒)?Windows窗体,获取FPS?
谢谢,在google上找不到太多东西。这是C#,.NET 4.0。
我正在写一个Windows应用程序,它在地图上显示实时数据。有没有简单的方法来获得FPS(帧每秒)?Windows窗体,获取FPS?
谢谢,在google上找不到太多东西。这是C#,.NET 4.0。
计算FPS可能是这么简单的东西(如果精度不是到极点的重要性):
DateTime _lastCheckTime = DateTime.Now;
long _frameCount = 0;
// called whenever a map is updated
void OnMapUpdated()
{
Interlocked.Increment(ref _frameCount);
}
// called every once in a while
double GetFps()
{
double secondsElapsed = (DateTime.Now - _lastCheckTime).TotalSeconds;
long count = Interlocked.Exchange(ref _frameCount, 0);
double fps = count/secondsElapsed;
_lastCheckTime = DateTime.Now;
return fps;
}
设置的更新计时器调用GetFps()
每第二要获得价值。请注意,此方法不应该有并发呼叫,因为每个呼叫都会重置计数器并启动时间。
你是如何绘制你的地图?这一切都取决于您使用的是什么技术......如果您正在进行图形密集型工作,我的推荐工作将用于托管DirectX。
试图让这里更多的信息:http://www.programmersheaven.com/2/time-fps
你的链接已经死亡。 – LarsTech
你用什么类型的数据在地图上显示?你能否请进一步解释一下。 –
我通过第三方使用购买的映射控件。我们以每秒30次的速度在全国范围内显示实时功耗。 – dave2118