我正在用Java写一个3D应用程序。我正在加载每个包含大约65000个顶点的字段。这些字段可以翻译,旋转等。当一个字段滚动出来的时候,它被剔除,VBOs被清除,元素数组被存储在内存缓冲区中。我缓冲这些领域的最多5个。不仅仅是他们开始申报。此内存异常来自哪里?
当我点击8个可见字段(520000)顶点时,程序崩溃,系统内存不足。我以为我超负荷的GPU内存,但使用GPU鲨鱼,我可以看到它只有约25%。我的系统有8GB的内存,并通过任务管理器查看内存使用情况,几乎没有注册。它约占51%。那么,我将用尽什么?
我使用Concurrent Hashmaps来存储我的顶点数据。我没有在不使用时明确销毁/取消它们,但之前从未造成过任何问题。
我正在通过LWJGL使用OpenGL库。
我在猜测“内存不足”来自jvm。你的-Xmx设置是什么?对于xmx请参阅http://stackoverflow.com/a/5374501/1737819 – Willmore
有没有办法让我增加隔离度? –
@eric_the_animal检查链接。 – shmosel