估多个提案从允许 postMessage 代码在整个线程中一起分
派的设备开始,以及更高级别的类似分派器的 API,因为它们在本地结构中很常见。如果没有这个标准化的方法,他们还没有达到这个关键阶段,所以我在这里恐怕不会花时间讨论它们。如果您好奇,请测试这个 TC39 想法,并发现 JavaScript 的下一个时代将传达它。摘要 Worker 是一个关键的组件,它可以阻止任何突然出现的长时间运行的代码阻塞浏览器渲染,从而保持规则线程的响应能力和干净性。由于人们在一起说话的这种固有的异步性质,员工采用需要对您的社区软件进行一些架构更改,无论怎样,您都可以轻松地使用能够访问互联网的设备来提供更大的帮助。您需要确保您采用的架构允许您的代码一起滑动,以便可以针对非基本线程架构调整这种常见的日常整体性能影响。
这是社区员工人体工学阅读曲
但这种最复杂的额外功能可以通过库和 Comlink 的方式抽象出来。更多内容 主线过度劳累和工资过低 Surma Chrome 开发者峰会 2019(视频) 绿色能源高效渐进式 Web 应用 David Microsfort 开发博客案例 英国手机数据库 研究移动 Threejs – 基于 WebXR 应用程序用于此主线程 Surma 当想要一起使用 Worker Surma 慢速 postMessage Surmacomlink GoogleChromeLabs internet-workerpm常见问题解答中有许多大众提出的问题和想法,因此我希望大家能够抢先一步,并在这里报告我的解决方案。 postMessage是渐进的吗?对于所有首选的通用整体表现问题,我的中间建议是学位第一!在您评分之前,没有什么是渐进的(或快速的)。不管怎样,在我看来,postMessage 通常足够快。根据经验,如果 JSONstringifymessagePayload 低于 10KB,即使在最慢的电话上也很少会产生冗长的帧。
如果它确实成为您的软件应用程序的瓶颈
将您的画作分成较小的数量,以便您可以发送较小的信息。如果此消息是一个全国范围的挑战,其中最好的小细节已修改此消息,请优先将整个项目一起发送补丁(区别)。如果您同时发送大量消息,将多条消息 AERO 领先 批量合并为一条消息,它也同样有用。作为休息,您可以尝试组合该消息的数字样本并在发送基于项目的消息时传输 ArrayBuffer。哪种方法对于这种情况是准确的,取决于这种情况,并且可以通过测量和消除该瓶颈来明确回答。我想要一起从 Worker 获取 DOM。我由此收到了一群人。但在大多数情况下,这确实可以解决麻烦。您有机会成功地开发第二个关键线程,这是对令人惊奇的线程中的相同问题最简单的好奇。为了让 DOM 能够轻松地从多个线程获得访问权,需要使用锁来减缓 DOM 操作。这应该会破坏许多现有的互联网应用程序。此外,这个同步版本还有一些好处。它给浏览器一个明确的信号,表明即使 DOM 位于有效的美国,它也可以与屏幕一起渲染。