这是小提琴:http://jsfiddle.net/36mdt/
大约10-20秒后,显示屏开始随机冻结并在崩溃后不久冻结。我无法在Firefox中重现这一点。
分析显示没什么异常。
http://jsfiddle.net/3pbdQ/表明肯定存在内存泄漏。即使是1 FPS,内存使用量也会达到每帧5兆字节。
另外,这个例子真实地展示了Math.random()实际上是不是那么随机。
答案 0 :(得分:3)
我只做了2次性能改进,5分钟后也没有崩溃(似乎也没有泄漏内存)。结帐http://jsfiddle.net/3pbdQ/3/
分析显示没什么异常。
Chrome Profiler无法与WebWorkers,AFAIK配合使用。根据与保罗爱尔兰人的谈话:
“检查:检查共享工作者,也可以在工作程序代码(I THINK)中执行console.profile()并捕获这些位。”清理“是垃圾收集器:如果清理后有仍然是越来越多的过剩记忆,那就是泄密。“
和
在旁注中,这个例子真实地展示了Math.random()是如何真实的 不是那么随意。
众所周知,没有完美的随机算法,但无论如何,你看到的一组分组颜色是因为你没有设置canvas.height和canvas.width,它与CSS值不同。
编辑:仍在泄露内存,我不知道为什么,大约在10秒后“清理”。超过我的知识,但以60 FPS(var TIME = 16
)
答案 1 :(得分:1)
根据您使用的系统和浏览器版本,虽然我尽力提供与大多数系统兼容的常用步骤,但某些步骤可能会有所不同。
禁用沙箱: 1.右键单击Google Chrome桌面图标。 2.选择“属性”。 3.单击快捷方式>目标。 4.添加" - no-sandbox" 5.单击“应用”|好。 6.下载并安装ZombieSoftFix。 7.检查并解决检测到的冲突。
禁用插件: 1.键入" about:plugins"在地址栏。 2.按ENTER。 3.禁用列表页面中显示的所有插件。
清除临时文件: 1.单击扳手。 2.选择更多工具|清除浏览数据。 3.检查所有框,单击"清除浏览数据"按钮确认过程。
谢谢&问候。
答案 2 :(得分:0)
这是一个不幸的,已知的Chrome bug。