JOGL大纹理输出加载内存不足

时间:2014-04-01 02:00:15

标签: java opengl textures out-of-memory jogl

我正在使用TextureIO在JOGL中加载一个7兆字节的纹理,但是大约三秒后,程序崩溃而没有显示OutOfMemoryError的任何内容。

是的,我知道一个7兆字节的图像是一个荒谬的大小,但我仍然想加载它。顺便说一下,8192 x 4096纹理应该是7兆?

我已经考虑过将图像分成几个较小的纹理并一次加载一个的想法,但这与我已编写的球类不能很好地配合。我想如果我绝对不能这样做,我可以这么做,但我希望避免采取这种特殊行动。

我没有在任何类型的嵌入式设备(Android,iPhone等)上运行,我有2 GB的RAM,不确定GPU的RAM,但我愿意这样做就足够了七兆字节的纹理。我有一个32位的Java安装和一个32位的Windows计算机,如果这些信息有帮助的话。

关于我为什么内存不足以及如何修复它的任何想法?

编辑:我可能正在接触某些事情,每个有经验的人都可能会拍打他们的额头,但错误上写着:java.lang.OutOfMemoryError: Java heap space

我猜测'Java堆空间'部分将有助于解决问题。

1 个答案:

答案 0 :(得分:0)

尝试使用-Xms和-Xmx在启动时增加堆的大小及其最大大小: Oracle Java manual

请注意,无论如何,您的显卡可能不支持如此大的纹理,请查看GL.GL_MAX_TEXTURE_SIZE

您应该在its official forum上询问有关JOGL的问题。

相关问题