《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(){};

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值