XNA中FPS统计刷新率频率类

 1 using Microsoft.Xna.Framework;
 2 
 3 namespace Game1
 4 {
 5     /// <summary>    
 6     /// 计算FPS类    
 7     /// </summary>    
 8     public static class FpsCounter
 9     {
10         private static int frames;
11         private static int milliseconds;
12         private static int interval = 1000;
13         private static float fps;
14 
15         /// <summary> 
16         /// 得到当前的FPS 
17         /// </summary>        
18         public static float Fps
19         {
20             get { return fps; }
21         }
22 
23         /// <summary>     
24         /// 设置/获取用于计算FPS的时间间隔(毫秒)
25         /// 默认值1000     
26         /// </summary>        
27         public static int Interval
28         {
29             get { return interval; }
30             set { interval = value; }
31         }
32 
33         /// <summary>     
34         /// 在每一帧调用     
35         /// </summary>     
36         /// <param name="time">自从上一帧经过的时间</param>     
37         /// <returns>如果经过的时间大于设置的间隔时间就返回true</returns>        
38         public static bool NewFrame(GameTime time)
39         {
40             frames++;
41             milliseconds += time.ElapsedRealTime.Milliseconds;
42             if (milliseconds >= interval)
43             {
44                 fps = frames * 1000.0f / (float)milliseconds;
45                 frames = 0;
46                 milliseconds -= interval;
47                 return true;
48             }
49             return false;
50         }
51     }
52 }

 

原文地址:http://www.coding4xna.com/articles.php?article_id=2

调试的时候还是有用的。。。嗯嗯,希望能对您有所帮助。

posted @   风海迷沙  阅读(969)  评论(2编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示