[开发者心得] 如何查看函数运行时长

[复制链接]
846 |1
剑寂万古 发表于 2023-8-4 10:50:51 | 显示全部楼层 |阅读模式
常常我们需要知道函数的运行时间来帮助判断函数对游戏性能帧率的影响这里带给大家确定函数运行时间的方法



    /**
     * 内部记录时间
     */
    func1() {
        const timeStamp = Date.now();
        for (let i = 0; i < 100000; i++) {
            if (this.Character) this.Character.addMoveInput(Vector.forward);
        }
        console.log('fun1 ', Date.now() - timeStamp + "ms");
    }




/**
* 记录函数时间的装饰器
* @param target
* @param name
* @param descriptor
*/
function logTime(target: any, name: string, descriptor: PropertyDescriptor) {
    const func = descriptor.value;
    descriptor.value = function () {
        const timeStamp = Date.now();
        func.apply(this, arguments);
        console.log('logTime', Date.now() - timeStamp);
    }
}

    /**
     * 通过装饰器记录时间
     */
    @logTime
    func2() {
        for (let i = 0; i < 100000; i++) {
            if (this.Character) this.Character.addMoveInput(Vector.forward);
        }
    }






回复

使用道具 举报

浅巷 发表于 2023-8-4 10:53:51 | 显示全部楼层
感谢分享,这样封装算运行时长效率更高,666
回复

使用道具 举报

热门版块
快速回复 返回顶部 返回列表