Unity高幀率跑低幀效果
阿新 • • 發佈:2019-01-22
首先,定義幾個變數來記錄相關資訊;
public int customFrame;//自定義低幀數
private float mLastTime;//記錄上一幀時間
private float mTimeResidue;//
並通過
private float deltaTime{
get{
return (float)1 / (float)customFrame;
}
}
來獲得自定義的deltaTime;
提前在Start中設定60幀;
void Start () { Application.targetFrameRate = 60; }
編寫低幀率檢測方法;
void CustomFrameUpdate(){ Debug.Log("Normal Frame:" + (int)Time.time); if(mLastTime == 0){ mLastTime = Time.time; } mTimeResidue += Time.time - mLastTime; mLastTime = Time.time; if(mTimeResidue >= deltaTime){ mTimeResidue -= deltaTime; //TODO: Debug.Log("Custom Frame:" + (int)Time.time); } }
然後在Update中呼叫;
void Update () {
CustomFrameUpdate();
}
最後掛指令碼開始執行,在這裡我們定義customFrame = 30;
執行列印結果如下:
如有雷同,純屬巧合