主要测试
- 1KM x 1KM地图,但我只绘制了100Mx100M左右的范围进行测试
- 启用terrian collider
- 启用Dynamic刚体
- 将小汽车模型做为刚体的child,根据需要生成并掉落到地形上
- 由动画组件驱动相机由远到近往复运动,间隔3秒
首先是对照组, PC主要参考三角面数
然后是Android Release构建, 测试手机为: vivo z3, 骁龙710, 64G
-
PBR材质
-
Blinn-Phong材质
-
Toon材质
blinn-phong为基于PBR材质修改高光运算得到,实测发现现在手机gpu的运算速度非常快,对高光运算这点开销的差异几乎可以忽略不计,但手机上访问帖图非常慢,基本上只要材质的帖图一多,性能直线下降。
toon材质启用outline时会渲染两次,性能折半。
根据我的测试,基本可以总结为:
- 不需要自己造轮子,标准材质用好就行了。
- 材质帖图分辨率要控制,不能太大。
- 材质尽量要是1 pass的, 多pass开销大。
- 关闭阴影, 如果实在阴影需要可以用假的alpha帖图,或是烘焙光照帖图,使用上也需要注意。
另外关于合批,能合批尽量合批,但我实测这个手机上三角面预算可能就是在100万面左右,合不合批差别在10%-20%的样子,没有想象中那么夸张,可能开发阶段先不要合批,尽量让各部分瓶颈都先暴露出来,然后再有针对性合批优化。
基本上这几个点注意到了,我觉得cocos creator 3.0能发挥的空间还是可以的。做为对比, iPhone 6 Plus性能是略高于vivo z3 710版的10%左右,更新的iPhone型号基本上就都不是问题。