Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GPU上的内存大小分配——opengl纹理加载问题_Java_Opengl_Gpu_Javax.imageio_Lwjgl - Fatal编程技术网

Java GPU上的内存大小分配——opengl纹理加载问题

Java GPU上的内存大小分配——opengl纹理加载问题,java,opengl,gpu,javax.imageio,lwjgl,Java,Opengl,Gpu,Javax.imageio,Lwjgl,我从一个32 w,32高的图像中加载像素。我加载它们的格式是通过java的ARGB。当我将其绑定到视频卡时,我可以预期视频卡可能会使用大约32*32*4字节或4K 类似地,1024W,1024H将是1024*1024*4=4MB 我的理解正确吗?现在我明白了所有的记忆都到哪里去了 使用的确切内存量不是您能够计算的,因为每个实现对纹理都有自己的(内部)约束。其中: 基本指针的对齐要求 对宽度和高度的限制 mip映射的特定约束(这里有许多潜在的约束) 因此,简而言之,您可以对内存使用情况进行最低

我从一个32 w,32高的图像中加载像素。我加载它们的格式是通过java的ARGB。当我将其绑定到视频卡时,我可以预期视频卡可能会使用大约32*32*4字节或4K

类似地,1024W,1024H将是1024*1024*4=4MB


我的理解正确吗?现在我明白了所有的记忆都到哪里去了

使用的确切内存量不是您能够计算的,因为每个实现对纹理都有自己的(内部)约束。其中:

  • 基本指针的对齐要求
  • 对宽度和高度的限制
  • mip映射的特定约束(这里有许多潜在的约束)
因此,简而言之,您可以对内存使用情况进行最低限度的估算,但最好为每个GL实现可能使用的其他内容添加一些空间


(顺便说一句,mip映射是你绝对应该考虑的。如果使用它,它至少会增加基础层的1/3)。

我很困惑。你刚才回答了你自己的问题吗?谢谢你,这些都是很好的观点@马塞洛,是的。我只是想确定我知道发生了什么。