总体性能——动画模块性能
来源:互联网 发布:mac 安装kvm 编辑:程序博客网 时间:2024/06/05 10:30
Animator.ApplyOnAnimatorMove:调用次数太多说明场景中角色数量太多了;
Animator.ProcessAnimationJob:关于AnimationClip的采样和读取;
WaitingForJob:Unity5.X已经将其放入了子线程,等待子线程的处理;
角色的多少和AnimationClip的复杂程度影响耗时;
Animators.FireAnimationEventsAndBehaviour:动画事件;
Animators.DirtySceneObjects:优化时,勾选Optimiz Game Object选项;
打斗比较激烈时,开销比较高;
MOnAnimatorMoveDelegate.OnAnimatorMove:OnAnimatorMove的重写函数;
FK&Statemachine:正向动力学和状态机;(Animator Controller,状态机越负责,开销越大)
Write:重写入的过程,每一帧中回写每个骨骼节点的Transform的耗时;
MeshSkinning.Update:骨骼数量和三角面片的数量多时,开销高;
优化方案:
1:控制SkinnedMesh的骨骼数、动画曲线(复杂度和数量)等;
2:控制Animator.Update更新模式;
(Always Animated / Cull Update Transform / Cull Complete)
3:开启Optimize GameObject选项;(开启后,Write写回的耗时会大幅降低)
原因:触发了GameObject的Instantiate和Active;
Animator.Initialize:Instantiate或Active GameObject时,GameObject中Animator Controller上有很多状态机,Unity会重建上面的DataSet(AvatarDataSet和ControllerDataSet),重建动画模块会有一定开销;
解决方案:
除了第一次使用Instantiate或Active外,之后通过对Animator Controller组件进行Active、Deactive,而GameObject不作处理,仍是Active状态,再把GameObject移出屏幕外;
UI和Animator不要使用Instantiate或Active方式;
处理后的效果如下:
推荐文章链接:如何读懂UWA性能报告?—动画篇
- 总体性能——动画模块性能
- 总体性能——动画模块性能
- 总体性能——渲染模块性能
- 总体性能——物理模块性能
- 总体性能——UI模块性能
- 总体性能——加载模块性能
- 总体性能——渲染模块性能
- 总体性能——渲染模块性能
- 总体性能——物理模块性能
- 总体性能——UI模块性能
- 总体性能——加载模块性能
- 总体性能——粒子系统性能
- 总体性能——粒子系统性能
- 总体性能——GC调用
- 总体性能——GC调用
- 系统性能优化分析—总体思路
- 高性能服务器设计——总体框架介绍
- 总体性能-CPU性能占用
- java--集合相关知识点
- 再谈编程语言之争
- Eclipse中.setting目录下文件介绍
- 求任意整数的倒序---工具
- 【matlab】GMSK高斯最小频移键控
- 总体性能——动画模块性能
- tcmalloc浅析
- Red Hat Enterprise Linux 7 的安装
- ue4 FPaths各目录--转
- qt中文字符乱码问题
- Java List集合比较
- 程序员们,那些年吹过的牛逼都实现了吗?
- has interface org.springframework.asm.ClassVisitor as super class
- spring学习大总结-----spring知识点总结概述