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;

运行打印结果如下:


如有雷同,纯属巧合

阅读更多

没有更多推荐了,返回首页