查看: 3859|回复: 5
打印 上一主题 下一主题

如何获取Unity游戏时的FPS?

[复制链接]

2508

主题

2

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
32806
精华
12

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-8-28 08:49:36 |只看该作者 |倒序浏览
看了很多  太复杂  求高手 给个代码 O(∩_∩)O 我懒 谢谢
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

abds    

0

主题

0

听众

30

积分

设计初学者

Rank: 1

纳金币
30
精华
0
沙发
发表于 2012-8-28 11:16:10 |只看该作者
用个 int 记录帧数` 在Update 里面每次加一  然后在弄个记录时间的  每次 += Time.deltaTime

然后当 记录时间的大于1就现实下记录的帧数 然后把帧数和时间清零`  如此循环
回复

使用道具 举报

955

主题

164

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59338
精华
28

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

板凳
发表于 2012-8-28 11:59:33 |只看该作者

   
    // Attach this to a GUIText to make a frames/second indicator.
   
   
    //
   
   
    // It calculates frames/second over each updateInterval,
   
   
    // so the display does not keep changing wildly.
   
   
    //
   
   
    // It is also fairly accurate at very low FPS counts (<10).
   
   
    // We do this not by simply counting frames per interval, but
   
   
    // by accumulating FPS for each frame. This way we end up with
   
   
    // correct overall FPS even if the interval renders something like
   
   
    // 5.5 frames.
   
   
   
   
   
    var updateInterval = 0.5;
   
   
   
   
   
    private var accum = 0.0; // FPS accumulated over the interval
   
   
    private var frames = 0; // Frames drawn over the interval
   
   
    private var timeleft : float; // Left time for current interval
   
   
   
   
   
    function Start()
   
   
      {
   
   
        if( !guiText )
   
   
          {
   
   
            print ("FramesPerSecond needs a GUIText component!");
   
   
            enabled = false;
   
   
            return;
   
   
        }
   
   
        timeleft = updateInterval;  
   
   
       }
   
   
   
   
   
    function Update()
   
   
      {
   
   
        timeleft -= Time.deltaTime;
   
   
        accum += Time.timeScale/Time.deltaTime;
   
   
        ++frames;
   
   
       
   
   
        // Interval ended - update GUI text and start new interval
   
   
        if( timeleft <= 0.0 )
   
   
        {
   
   
            // display two fractional digits (f2 format)
   
   
            guiText.text = "" + (accum/frames).ToString("f2");
   
   
            timeleft = updateInterval;
   
   
            accum = 0.0;
   
   
            frames = 0;
   
   
        }
   
   
    }
   
回复

使用道具 举报

2508

主题

2

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
32806
精华
12

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2012-8-29 08:58:58 |只看该作者
谢谢
回复

使用道具 举报

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

5#
发表于 2012-12-30 04:45:36 |只看该作者
学习了,虽然还是有难度,谢谢楼主的用心
回复

使用道具 举报

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38268
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

6#
发表于 2012-12-30 23:20:51 |只看该作者
谢谢楼主的帖子分享,学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-23 21:07 , Processed in 0.172276 second(s), 34 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部