FPS顯示和修改——unity3D

一:FPS顯示

FPS值得含義就是Update函數一秒內的執行次數,通過記錄一段時間內Update的調用次數,再除以這段時間(秒爲單位),就計算出FPS了。

該實例繼續使用螺旋昇天的Cube。

 

創建用於記錄和控制的變量:

//記錄時間段
private float accum = 0;

//記錄Update調用次數
private int frames = 0;

//FPS數值刷新控制
private float timeleft;

//FPS顯示字符串
private string stringFps = "0.0";

 在Update函數中添加:

timeleft -= Time.deltaTime;
accum += Time.timeScale / Time.deltaTime;
++frames;
if (timeleft <= -1)
{
     float fps = accum / frames;
     stringFps = System.String.Format("{0:F2} FPS", fps);
     timeleft = 0.0f;
     accum = 0.0F;
     frames = 0;
}

在OnGUI函數中添加:

GUI.Label(new Rect(1100, 40, 70, 30), stringFps);

效果如下:

 

 

二:FPS修改

要用腳本修改幀數,必須先關閉默認的幀數設定

在Edit—project settings中:

Quality 選項中,Other中的VSync Count選爲Dont Sync,如下圖:

這樣才能修改幀數:

在腳本文件中的 Awake()函數中添加:

Application.targetFrameRate = 100;

後面的數值就是你希望達到的幀數,效果如下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章