移动平台MOBA发热与帧率优化
MOBA项目的优化进入到了第二阶段,千元机,发热严重问题处理,及帧率进一步提升。
回顾之前的优化,当初我的 OPPO R9S不过8-10帧,后来经过了逻辑计算的一些优化后达到10-20帧。
再后来开启 multithread renderring后达到30 帧左右,从这一点看说明渲染消耗还是蛮大的,采用多线程渲染后虽然提高了帧率,但是增加了发热,要想减少发热,渲染是主因。
再后来继续逻辑的优化,帧率达到30-40帧,团战会导致帧率下降比较明显。
------------------------------------------------------------------------
第二阶段的优化测试是:
1,将场景中大量的透明贴图替换为不透明,比如大量的树,草丛,草皮。这个测试后发现帧率明显提升(10帧左右),发热明显降低(原来在OPPOR9S上很烫,现在变为微热)
2,不管透明贴图问题,只简单将场景中全部贴图压缩,原来场景中有大量2048X2048的贴图,默认采用ECT2 RGBA压缩格式,约2M左右大小。采用极限压缩,采用RGB ECT TRUNKED ,大小变为400K左右。
经过这个操作后,帧率也有不少提升,发热也有明显改善。
3,blit,在project setting中关闭这个选项,没有明显效果。因为在网上看到说UNITY4默认是没有采用这个的,UNITY5默认总是要BLIT一次,有的人从UNITY4升级到5后帧率由60下降到45,后来发现是此选项造成。
但我的测试中没发现这个有提升。
经过以上测试说明 : 大的手游,发热问题的主因是渲染,其中透明渲染和贴图尺寸又是主因。