美文网首页
骁龙845/855在unity上闪退解决

骁龙845/855在unity上闪退解决

作者: 吴银豪 | 来源:发表于2020-03-13 14:57 被阅读0次

    新开发的项目,发现在以小米8/9 黑鲨为代表的骁龙845/855手机上,频繁闪退,闪退日志如下:

    Adreno-GSL:<sharedmem_gpuobj_alloc:2713>: sharedmem_gpumem_alloc: mmap failed errno12 Out of memory
    12-18 19:46:37.81430159 30430 E Adreno-GSL: <gsl_memory_alloc_pure:2297>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.

    根据经验和闪退场景判断,应该是unity对高通部分高配芯片(集中表现在小米的一批高端机)支持有问题,释放显存不及时,存在内存泄漏,导致游戏进程崩溃。

    解决过程:

    1、我们先通过贴图和mesh压缩的方式,降低了显存开销。明显延长了游戏时间,但是依旧治标不治本。

    2、我们在2017.4.34(2018同一时间版本也有)的更新日志看到了可能相关的修复:

    Release Notes:

    Android: Fixed an out of memory issue happening on Adreno devices on GLES. (1111097, 1118824)

    于是升级了版本,依旧无效。

    3、于是我们猜测是否改BUG的修复未应用于32位版本,于是我们尝试使用64位版本。结果发现再也未出现过这个闪退了。

    相关文章

      网友评论

          本文标题:骁龙845/855在unity上闪退解决

          本文链接:https://www.haomeiwen.com/subject/peybhxtx.html