libGDX - 纹理存储在哪里?

时间:2011-04-01 12:39:33

标签: java android memory libgdx

众所周知,android的每个应用程序的内存限制为16mb(或者在其他设备上更高)。 我开始开发一个RPG,你也应该知道,由于图形的原因,这些类型的游戏需要超过16 MB。

当您使用NDK在C中编写部分代码时,没有内存限制(可以将游戏作为地下城防御者)。 libGDX部分用C语言编写,以获得更好的性能。

所以,这是我的问题:

它是否将纹理存储在Java部分或本机C部分中?

1 个答案:

答案 0 :(得分:3)

纹理存储在设备GPU上的VRAM中。当您的图形引擎加载纹理时,它们可能是从本机方法加载的,但您的纹理仍然在VRAM中。

重要,它没有明确地将纹理存储在“Java”或“C”部分中,并且没有这些部分存储它们。当您从int函数返回loadTexture()时,该函数只是访问VRAM上纹理的“关键点”。

纹理的最大数量(和VBO:s)取决于设备GPU上的最大VRAM级别。