这个内存异常来自哪里?

时间:2016-03-03 06:50:38

标签: java opengl 3d lwjgl

我正在用Java编写3D应用程序。我正在加载每个包含大约65000个顶点的字段。这些字段可以翻译,旋转等。当字段滚出截头锥体时,它会被剔除,VBO被清除,元素数组存储在内存缓冲区中。我缓冲了这些字段中的最多5个。不止于此,他们开始提交文件。

当我点击8个可见字段(520000)顶点时,程序会因系统内存不足而崩溃。我以为我的gpu内存超载但是使用GPU Shark我可以看到它只能达到25%左右。我的系统有8GB的RAM,通过任务管理器查看内存使用情况几乎无法注册。它占51%左右。那么我用光了什么?

我使用Concurrent Hashmaps来存储我的顶点数据。我没有在不使用时明确销毁/取消它们,但之前从未引起过问题。

我正在通过LWJGL使用OpenGL库。

1 个答案:

答案 0 :(得分:2)

如果您正在使用eclipse,请尝试增加eclipse堆大小,然后再尝试一下。 JVM不允许整个RAM到堆中。

How to increase application heap size in Eclipse?