Android 特定屏幕上的LibGDX安卓黑屏

Android 特定屏幕上的LibGDX安卓黑屏,android,libgdx,eclipse-adt,android-debug,Android,Libgdx,Eclipse Adt,Android Debug,为了解释这种情况:我有一个LibGDX游戏作为桌面项目运行没有问题。。。 但当我把应用程序安装到我的Android设备上时,它只会显示第一个屏幕。。。在这种情况下,它是一个菜单屏幕,显然不需要太多资源…纹理的分辨率不是2的幂,但我使用的是OpenGl2.0 当我现在将屏幕更改为实际的游戏屏幕时,我的设备只是黑屏。此屏幕包含一个包含大量对象的Box2d世界、一个大纹理(6500x877)和一个动画。我的猜测是,我的处理器(Nvidia Tegra2)的性能存在问题。在查看CPU负载时,是否有机会调

为了解释这种情况:我有一个LibGDX游戏作为桌面项目运行没有问题。。。 但当我把应用程序安装到我的Android设备上时,它只会显示第一个屏幕。。。在这种情况下,它是一个菜单屏幕,显然不需要太多资源…纹理的分辨率不是2的幂,但我使用的是OpenGl2.0


当我现在将屏幕更改为实际的游戏屏幕时,我的设备只是黑屏。此屏幕包含一个包含大量对象的Box2d世界、一个大纹理(6500x877)和一个动画。我的猜测是,我的处理器(Nvidia Tegra2)的性能存在问题。在查看CPU负载时,是否有机会调试游戏?我不能使用仿真器,因为它不能与LibGDX一起使用。

使用OpenGL跟踪器获取有关正在发生的事情的更多信息:。此外:

tracer工具要求您运行的是最新的Android版本(4.1或更高版本)

您还可以在代码中以编程方式偶尔调用
Gdx.gl.glGetError()
,查看是否有任何OpenGL命令触发错误。看

您可以在OpenGL运行时查询支持的最大纹理维度,方法为

IntBuffer max = BufferUtils.newIntBuffer(16); // See http://lwjgl.org/forum/index.php?topic=1314.0;wap2
max.clear();
gl.glGetIntegerv(GL10.GL_MAX_TEXTURE_SIZE, max);
int maxTexDim = max.get(0);

在你的情况下,我怀疑你会拿回4096或2048…

你试过用更小的纹理吗?我认为,这种质感对于手机和移动设备来说太大了。是的,您可以在开发设置中激活设备上的CPU负载注意:大多数移动设备的纹理限制约为2048x2048,我相信某些GPU的纹理限制为1024x1024。如果您使用的是比这些更大的单个纹理,则无法保证它们甚至会加载,并且您根本看不到它们。