我有一个three.js网站,在iphone上加载移动游戏时需要大约450mb(我通过" Instruments" XCode中的实用程序找到了这个)。
现在,当我重新加载此页面时,检查员显示内存现在约为550mb。并且,下次我重新加载页面时,它会完全崩溃(可能是由于crossing the memory limit为640mb?)
我试过了:
-
禁用renderer.render
次调用(three.js在renderer.render期间将数据从主内存发送到GPU内存)所以没有任何内容发送到GPU,在这种情况下内存大约是280mb但是仍然是随着页面重新加载而增加。
-
在主页面上禁用缓存。
-
按照建议here释放主内存和GPU内存中的几乎所有资源。
-
按照建议here将任意/所有图片src设置为1px数据网址。
醇>
但是,由于重新加载之间的内存增加,页面仍然崩溃。所以,我很困惑是什么阻止了浏览器释放内存。有线索吗?