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 @ 2009-03-27 01:26  风海迷沙  阅读(969)  评论(2编辑  收藏  举报