当前位置:网站首页>性能优化——动画优化笔记
性能优化——动画优化笔记
2022-08-01 13:48:00 【长安花开*】
动画优化:
再UWA报告中Animator相关的函数有两个:一个是DirectorUpdateAnimationBegin,一个是DirectorUpdateAnimationEnd,
一般来说,我们都要关注这两个函数的堆栈,通过堆栈函数的调用次数、耗时占比来进一步定位原因
- ApplyOnAnimatorMove:代表激活的animator数量,控制Acitve的Animator数量
造成原因:屏幕外的animator是否激活 缓存animator处于激活 ui上的animator组件过多(ui简单的效果可以使用dotween)
- 通过Animators.Update的堆栈分析,ApplyBuiltinRootMotion
动画产生位移 如果动画不需要产生位移则不必开启此选项
- 开启Optimize Game Objects选项
unity在处理动画片段时,会移除Transform的层级信息,该设置对于Animators.Update的耗时提升都非常明显
- 控制Animator.Initialize触发频率
会在含有animator组件的GameObject被Acitve或Instantiate时触发,耗时比较高 缓存池隐藏角色的时候不直接隐藏GameObject而是DisableAnimator组件,并把GameObject移到屏幕外
- Animator的CullingMode模式AlwaysAnimate过多
有位移动画改为CullUpdateTransform 没有位移动画改为CullCompletely
群体动画渲染建议使用 GPU Skinning + GPU Instancing 建议关闭unity引擎原生的Gpu Skinning操作会导致额外开销,会导致主线程或渲染线程无效的等待
https://lab.uwa4d.com/lab/5bc6f85504617c5805d4eb0a
https://lab.uwa4d.com/lab/5bc5511204617c5805d4e9cf
- 可以使用动画动态加载来优化动画在运行中的内存AnimatorOverride
- 优化动画精度,增加Constant曲线,根据需要是否删除缩放曲线
- FBX动画精度压缩选择
边栏推荐
猜你喜欢
随机推荐
魔众文档管理系统 v5.0.0
分布式中的CAP原理
OpenSSL SSL_read: Connection was reset, errno 10054
mysql的基本使用
为什么最大值加一等于最小值
嵌入式开发:创建和使用可移植类型的7个技巧
[机缘参悟-57]:《素书》-4-修身养志[本德宗道章第四]
The obstacles to put Istio into production and how we solve them
全球都热炸了,谷歌服务器已经崩掉了
人像分割技术解析与应用
iframe标签属性说明 详解[通俗易懂]
免费使用高性能的GPU和TPU—谷歌Colab使用教程
透过开发抽奖小程序,体会创新与迭代
又拿三个大奖?!多力就是要让你吃的更营养更健康
【码蹄集新手村600题】判断一个数字是否为完全平方数
硬链接、软连接浅析
【5GC】5G网络切片与5G QoS的区别?
tensorflow2.0手写数字识别(tensorflow手写体识别)
windows IDEA + PHP+xdebug 断点调试
分布式中的远程调用









