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

基于pixi.js的Chrome游戏内存足迹飙升,JS/GPU内存稳定,如何排查?

Chrome下Pixi.js游戏Memory Footprint暴涨至数GB的排查与根源定位

我开发了一款基于pixi.js(v7+)的浏览器游戏,大量使用Graphics对象。在Chrome(v121,Apple Silicon,MacOS 12.7.1)任务管理器中,Memory Footprint数值持续攀升至数GB,最终导致标签页崩溃。

但多个关键内存指标均未显示异常:

  • performance.memory.usedJSHeapSize仅约30MB
  • Chrome任务管理器中(需右键列头启用对应列)的JavaScript Memory和GPU Memory数值处于低位
  • Chrome开发者工具「更多工具」中的性能监视器显示:Dom节点、JS事件监听器、堆内存等指标均无增长

排查过程

先后排查了所有游戏对象生命周期的引用释放逻辑,尝试更换不同版本的pixi.js、移除所有自定义着色器等操作,均无法解决内存暴涨问题。

问题根源

最终定位问题出在AudioNodes上:Chrome开发者工具完全未统计AudioNodes及WebAudio相关工作线程/进程的内存占用。

具体原因是:为实现混响效果实例化新ConvolverNode时,未将旧节点从所有输入输出连接链中完全断开,导致旧节点无法被垃圾回收。通过MacOS活动监视器的「Sample Process」功能,发现大量名为「Reverb convolution background thread」的线程,从而锁定了问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 11:52:21