我尝试在 facebook 应用程序的浏览器中加载 WebGL 游戏。当我加载游戏时,它会在浏览器堆中分配 512 MB 统一堆。我可以关闭游戏并移至应用程序的另一个屏幕而无需刷新页面。但是在我刷新页面之前,分配的统一堆内存不会清除。这会增加浏览器内存并经常导致浏览器崩溃。
那么有什么办法可以在我卸载 WebGL 游戏时从 javascript 中清除 unity heap 吗?
最佳答案
Unity 中的 WebGL 是相当新的,因此可能会出现错误或配置设置。不过,请查看 Unity 工程师的这些博客文章。在构建应用程序/游戏之前,您必须先分析您的应用程序/游戏,然后再决定在堆上需要多少 WebGL 内存。
- https://blogs.unity3d.com/2016/09/20/understanding-memory-in-unity-webgl/
- https://blogs.unity3d.com/2016/12/05/unity-webgl-memory-the-unity-heap/
此外,某些 32 位浏览器可能存在内存限制,因此请尝试使用 64 位浏览器或在 Unity 中查看您的分析器信息后减少纹理和声音占用的内存量。
关于javascript - 如何从浏览器中删除统一堆内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41762629/