情景说明: unity 出的Android包,在目前一些主流机型跑都没有问题,但是在 小米3 这种比较老的机器上跑,报如下错误
GLSL compilation failed, no infolog provided
起先,我们一直以为是在低端机器上某个特定的GLSL 在这款机器上不被支持,我们在unity 商店,购买插件,来记录我们游戏一共用了多少SL,我们测试发现都是一些常规的SL,没有发现特殊的SL,一直纠结,找不到原因,只能说明一点,Android 报的错误提示,让我们进入了误区。
当我们在ios 低端机器跑的时候,IOS 给了我们明确的错误提示: 内存不够。
我们最终的解决方案是: 所有的图片进图集, iOS 可以进游戏了(图片压缩的很厉害,很多图片模糊了),但是 Android 还是 报 这个 GLSL compilation failed, no infolog provided 错误。再经过一番折腾我们发现,当游戏不打计费SDK 的时候,小米3 能正常进游戏,打了计费SDK 后,还是报 这个 GLSL compilation failed, no infolog provided 错误。 进过N次的试错发现,最终还是在图集的问题。 不能把全部图片都打在一个图集名里面(特别是多张大图片最好不要在同一图集里面),把不同的图片归类放入不同图集,能够减少第一次游戏加载时候的内存消耗(其实我们单机游戏还在一个问题 导致第一次游戏加载的时候,需要加载大量的图片,进游戏的时候,所以的ui 都全部加载完成了)。
untiy 的 优化的坑在路上,一个一个的踩...