Android游戏GPU兼容性问题

时间:2016-08-26 14:41:07

标签: android opengl-es

我的第一款安卓游戏已经差不多完成了,我正准备在游戏商店发布它。 今天我在一些朋友的手机上测试了它,除了一个samung a5之外,它都适用。在这款手机上,网格闪烁,变形和消失,看起来变形。这在玩游戏时我使用了大量的帧缓冲,在主菜单中有一个更简单的动画,一切看起来都是正确的。

游戏是使用libGdx开发的,并使用一些自定义着色器。我已经在其他8个不同设备上进行了测试,没有任何问题(三星Galaxy标签s4的低帧速率)。

我问你的建议:

1)我应该开始检查以找到a5的问题?

2)你认为我应该推迟发布,直到它解决的问题ora我应该从兼容性列表中发布除了A5(或者可能是所有具有类似GPU的设备)吗?

我的一个大问题是,目前我没有这台设备(它是我朋友的私人电话......)而且我可能只会限制它时间量,所以我想做好准备以避免将设备锁定太长时间给我的朋友。

感谢所有人!

1 个答案:

答案 0 :(得分:0)

  1. 首先,我确保你没有任何OpenGL错误 - 添加对glGetError的调用并验证帧缓冲区和着色器程序,你可以在没有设备的情况下执行此操作并添加额外的断言,这总是值得的(假设你还没有他们)。接下来,尝试使用GPU制造商提供的工具。在您的情况下snapdragon profiler。为了最大限度地缩短您使用朋友设备的时间,请提前安装工具,如果您有权访问另一台Qualcomm设备,请使用它来熟悉软件。幸运的是,问题的原因可能会立即变得明显。如果没有,那么它只是一个二进制搜索,禁用你的代码部分,直到你把它缩小到一个特定的着色器/绘图调用,然后检查/调整,以找出出错的位。
  2. 这是一个艰难的电话。如果它是驱动程序错误,那么它可能只发生在特定的修订版上。如果某些A5设备位于朋友设备的不同版本的Android上,则可能会有效。也就是说,A5是相对较新的,三星/高通的驱动程序往往是非常可靠的IME,所以它更可能是你的代码中的一个错误,恰好只暴露在某些设备上。我个人会延迟发布,除非你的发布策略是时间敏感的,从你拥有的有限数据,你的游戏不能用于> 10%的设备。