还是性能优化专题

在面临大量3D角色战斗场景的性能挑战时,进行了深度的性能优化。包括:1) 利用相机矩阵替代onWillRenderObject以提高物体判断效率;2) 优化动态batch,改用静态batch显著降低峰值性能消耗;3) 探讨并优化复杂的Shader和骨骼动画的性能;4) 优化A*寻路算法,通过函数重写和极限优化降低寻路时间;5) 去除小兵单位阴影以进一步提升性能。
摘要由CSDN通过智能技术生成

        最近面临一个比较大的挑战,就是大量角色的战斗,coc采用的是2d贴图,但我们希望用3d模型,这就导致了不得不对性能进行一次彻底的研究优化。

1.判断物体是否在摄像机内,本来用unity自带的onwillrenderobject,发现非常耗时,改成自己用相机矩阵计算,节省了70%的时间。

2.动态batch比想象中还要耗性能,尽量使用静态batch,动态并不万能,而且限制很多。改了之后,高峰从10ms减少到3ms,也差不多70%。

3.有大量的drawvbo,应该是shader数学计算太多,这个是因为我要使用很多效果,导致shader过于复杂。但实际使用发现就是2ms的差别,我觉得不是这个问题。看了下如何进行骨骼动画优化:

http://docs.unity3d.com/ScriptReference/SkinnedMeshRenderer.BakeMesh.html

https://forums.unrealengine.com/showthread.php?75836-Saving-vertex-positions-of-a-skeletal-mesh-pose-dumping-them-to-file-in-real-time

www.flamebaitgames.com/?p=544

http://forum.unity3d.com/threads/baking-skinning-for-per

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yxriyin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值