我正在用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