You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Web Worker后主线程仍卡顿,求技术排查方案

ThreeJS OffscreenCanvas迁移后主线程卡顿问题排查

问题现状

  • 已完成复杂3D场景向OffscreenCanvas的迁移,GLB文件、纹理贴图加载逻辑移至Web Worker,场景渲染效果与传统Canvas完全一致
  • 页面加载spinner在资源加载完成、场景开始渲染后出现卡顿;尝试先隐藏所有3D对象,在渲染循环中逐个显示时,带反射的玻璃对象渲染阶段卡顿尤为明显,该表现与传统Canvas模式下一致,推测是渲染器负载过高,但不解为何主线程会出现卡顿
  • 无法解读Chrome Memory面板内容,且因项目商业机密无法提供Demo

补充说明

Web Worker负责的GLB和图片加载速度更快,且完全不影响主线程,并非无用设计

已实施的优化措施

  • 缩小纹理尺寸
  • 替换为ThreeJS最简材质
  • 优化动画关键帧
  • 采用逐个显示3D对象的加载策略
  • 场景包含带骨骼动画、面部变形的复杂3D角色及办公环境,上述优化后卡顿问题仍无改善

待解疑问

  1. 如何通过Chrome开发者工具查看独立内存线程的状态?
  2. 是否存在Web Worker线程数量达上限的情况?
  3. 卡顿是否由显卡负载过高导致?
  4. 目前是否无法利用GPU独立内存线程?

相关截图

  • Chrome Performance面板截图:
    Chrome Performance面板
  • about:gpu页面截图:
    about:gpu页面
  • 补充场景相关截图:
    补充场景截图

内容的提问来源于stack exchange,提问作者GeorgePorge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 10:52:02