java-libGDX-纹理存储在哪里?

众所周知,android每个应用程序的内存限制为16mb(或在其他设备上更高).
我开始开发一个rpg,并且您也应该知道,由于图形原因,这类游戏需要16 MB以上的内存.

当您使用NDK用C编写部分代码时,没有内存限制(使游戏成为地牢防御者成为可能). libGDX部分用C编码,以获得更好的性能.

所以,这是我的问题:

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

解决方法:

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

重要的是,它不会在“ Java”或“ C”部分中显式存储纹理,并且也没有存储这些部分的纹理.当您从loadTexture()函数取回int时,它只是访问VRAM上纹理的“关键”.

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

上一篇:SpineRuntime-Presentation - 基于 spine-libgdx 实现在 AndroidPresentation 上展示 Spine 动画


下一篇:android-适用于libGDX的AnalogOnScreenController或操纵杆