1. 程式人生 > >Unity高幀率跑低幀效果

Unity高幀率跑低幀效果

首先,定義幾個變數來記錄相關資訊;

    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;

執行列印結果如下:


如有雷同,純屬巧合