2013-07-08 134 views
0

解释情况:我有一个LibGDX游戏runnig没有问题作为桌面项目... 但是,只要我安装到我的Android设备的应用程序,它只显示第一屏幕...在这种情况下,它是一个菜单屏幕,显然不需要太多的资源...纹理不是在两个权力的决议,但我使用OpenGl2.0。LibGDX And​​roid黑屏在某个屏幕

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

+0

难道你试过更小的质感?这个纹理对于我认为的移动设备来说很重要。是的,你可以在开发设置 – BennX

+0

处激活设备的CPU负载。注意:大多数移动设备的纹理限制大约为2048x2048,我相信某些GPU可以使用1024x1024。如果您正在使用比这更大的单一纹理,则无法保证它们会加载,而且您根本看不到它们。 – Jyro117

回答

1

使用OpenGL Tracer获取有关正在发生的更多信息:http://developer.android.com/tools/help/gltracer.html。另外:OpenGL debugging

示踪工具需要你在最近的Android版本(4.1或更高)

您还可以通过编程在你的代码中调用Gdx.gl.glGetError()零星运行,看是否有OpenGL命令被触发错误。见When Should One Call glGetError?

您可以查询最大支持的纹理尺寸的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回来......