首页 > 解决方案 > 使用 Web Workers 的高效 1000Hz 时钟

问题描述

使用 setInterval 创建最大速度时钟只会产生大约 250Hz 的最大频率。对于我正在进行的项目,我需要一个更快的时钟。但是,由于显而易见的原因,我不想在主线程中运行 1000Hz 时钟。

目前,我设法达到 1000Hz 频率的唯一可行方法是创建第二个工作人员,运行 a while(true),每经过 1 毫秒就向其“主”工作人员发送一条消息。这可行,并且计时器是准确的,但是这非常耗费资源。仅仅运行这个循环就使用了我大约 30% 的 CPU。

有没有其他方法可以让时钟快速工作?它可以尽可能的 hacky 并根据需要滥用尽可能多的 API,它只需要 A:比最大 setInterval 速度快 & B:尽可能节省资源。

标签: javascripttimersetintervalfrequencyweb-worker

解决方案


推荐阅读