type
status
date
slug
summary
tags
category
icon
password
fullWidth
fullWidth

TPerfEntry接口

所有的记录分成两类:markmeasure,都具有方法名Name、调用栈路径Path和时间戳Timestamp
  • IPerfMarkEntry具有是否为临时创建的属性IsTemp
  • IPerfMeasureEntry具有方法占用时长属性Duration

PerfRecorder类

PerfRecorder是一个性能记录器,用于测量代码执行时间,代码易懂就不再赘述:

perfTiming属性装饰器

🐈‍⬛
PropertyDescriptor是JavaScript/TypeScript中的一个内置接口,用于描述和操作对象属性的特性:
在TypeScript中,方法装饰器的参数是固定的格式(方法所属的类的原型对象、方法名和方法的属性描述符),可以在官方文档中找到:
关于TypeScript装饰器的知识,可以参考:
perfTiming是一个方法装饰器,自动为类方法添加性能监控:

CallerLocation获取调用位置

创建一个错误对象Error,利用JavaScript堆栈追踪机制得到错误堆栈,传入的stackIndex要加1,因为getCallerLocation为异常发生堆栈,要略过:
EndMeasure()里调用Measure(),调用栈深度callbackDepth默认为2,因为:
而在装饰器函数中调用EndMeasure(),调用栈深度callbackDepth应该改为3,因为:
 
Relate Posts
【独立游戏】Blizzard Syndrome
Lazy loaded image
【独立游戏】MeloGo
Lazy loaded image
【独立游戏】Grey School Plot
Lazy loaded image
【学校项目】智能家居数字人管家
Lazy loaded image
【毕业设计】基于GarmentCode的参数化和组件化服装版片生成
Lazy loaded image
【Built-in渲染】3D卡通角色NPR前向渲染和物理模拟
Lazy loaded image
【TypeScript】基于抽象语法树的自定义代码检查实现方案【TypeScript】浅析TypeScript中的装饰器(旧语法)
Loading...
Latest posts
【虚幻Slate】虚幻编辑器扩展之开发一个AVG游戏剧情编辑器
2025-12-12
【TypeScript】性能记录框架和装饰器
2025-12-12
【Built-in渲染】绘画色彩理论在卡渲后处理中的应用
2025-12-12
【散文随笔】我的高中生活(二)
2025-12-12
【散文随笔】我的高中生活(一)
2025-12-12
【兴趣爱好】音乐创作存档
2025-12-12