《laya 性能优化》Laya 分帧加载优化

基础逻辑:一帧只处理部分时间,剩余的事件留到下一帧去处理,减少一帧的卡顿

伪代码如下

    curIdx: number = 0;
    st: number = 0;
    tLimit: number = 1000 / Laya.timer.currFrame * 0.25;// 处理事件不超过这一阵所需要事件的25%
    MAX_COUNT = 1000;   // 处理事件的个数
    public startFrameLoad() {
        Laya.timer.frameLoop(1, this, this.onFrame);
    }

    onFrame() {
        this.st = new Date().getTime();
        for (let i: number = this.curIdx; i < this.MAX_COUNT; i++) {
            // 当到底此帧极限,剩下script不在此帧执行
            if (new Date().getTime() - this.st > this.tLimit) {
                this.curIdx = i;
                return;
            }
            this.doSomeThing();
        }
        this.doComplete();
    }
    doSomeThing(){}
    doComplete(){};

 

你可能感兴趣的:(laya,性能优化,性能优化)