概述
Compute Pressure 提供对设备计算压力的观测,返回状态如 nominal、fair、serious、critical。可依据状态调整任务密度、分辨率与效果水平,避免主线程与设备过载。
用法/示例
const observer = new ComputePressureObserver(changes => {
for (const c of changes) {
switch (c.state) {
case 'serious':
case 'critical': lowerQuality(); break
case 'nominal': raiseQualityWithinBudget(); break
}
}
}, { sampleInterval: 1000 })
await observer.observe('cpu')
工程建议
- 设定合理的
sampleInterval,避免频繁回调造成开销与抖动。 - 将降级策略与用户偏好协作(如
prefers-reduced-motion),在高压状态减少动效与特效。 - 在不支持环境下回退到基于帧时间与任务耗时的自适应逻辑。
参考与验证
- web.dev:Compute Pressure — https://web.dev/articles/compute-pressure
- WICG:Compute Pressure — https://wicg.github.io/compute-pressure/

发表评论 取消回复