当前位置:网站首页>Performance Optimization - Animation Optimization Notes
Performance Optimization - Animation Optimization Notes
2022-08-01 14:04:00 【Chang'an flowers bloom*】
Animation optimization:
There are two Animator-related functions in the UWA report: one is DirectorUpdateAnimationBegin, the other is DirectorUpdateAnimationEnd,
Generally speaking, we should pay attention to the stack of these two functions, through the stack functionThe number of calls and the proportion of time-consuming to further locate the cause
- ApplyOnAnimatorMove: Represents the number of activated animators and controls the number of Animators in Acitve
Cause: Whether the off-screen animator is activated The cache animator is active Too many animator components on the ui (simple ui effects can use dotween)
- Through the stack analysis of Animators.Update, ApplyBuiltinRootMotion
Animation produces displacement If the animation does not require displacement, this option does not need to be turned on
- Enable Optimize Game Objects option
Unity will remove the level information of Transform when processing animation clips. This setting is very obvious for the time-consuming improvement of Animators.Update
- Control the trigger frequency of Animator.Initialize
It will be triggered when the GameObject containing the animator component is Acitve or Instantiate, which is time-consuming. When the cache pool hides the character, the GameObject is not directly hidden but the DisableAnimator component, and the GameObject is moved off-screen
- Animator's CullingMode mode AlwaysAnimate too many
With displacement animation changed to CullUpdateTransform without displacement animation changed to CullCompletely
It is recommended to use GPU Skinning + GPU Instancing for crowd animation rendering. It is recommended to turn off the native Gpu Skinning operation of the unity engine, which will cause extra overhead and cause invalid waiting for the main thread or rendering thread.
https://lab.uwa4d.com/lab/5bc6f85504617c5805d4eb0a
https://lab.uwa4d.com/lab/5bc5511204617c5805d4e9cf
- AnimatorOverride can be used to optimize the memory of animations on the fly using dynamic loading of animations
- Optimize the animation accuracy, increase the Constant curve, and delete the scaling curve as needed
- FBX animation precision compression selection
边栏推荐
猜你喜欢

JMP Pro 16.0 software installation package download and installation tutorial

考研大事件!这6件事考研人必须知道!

PAT 1162 Postfix Expression(25)

什么是元编程

热心肠:关于肠道菌群和益生菌的10个观点

透过开发抽奖小程序,体会创新与迭代

嵌入式开发:创建和使用可移植类型的7个技巧

SAP ABAP OData 服务如何支持创建(Create)操作试读版

Longkou united chemical registration: through 550 million revenue xiu-mei li control 92.5% stake

How do we do full-link grayscale on the database?
随机推荐
【每日一题】1161. 最大层内元素和
性能测试入门指南
Qt实战案例(55)——利用QDir删除选定文件目录下的空文件夹
SAP ABAP OData 服务如何支持创建(Create)操作试读版
VIP的实现原理
性能优化——粒子优化笔记
28uA待机8米距离低压保护单片机探头太阳能灯人体PIR定制方案
ABC260 E - At Least One (Dual Pointer)
什么是元编程
Six Stones Programming: Problems must be faced, methods must be skillful, and functions that cannot be done well must be solved
快速理解拉格朗日乘子法
经纬信息IPO过会:年营收3.5亿 叶肖华控制46.3%股权
Multithreading Case - Timer
DaemonSet of kubernetes and rolling update
NFV迈向云原生时代:Network Service Mesh项目介绍
牛客刷SQL--6
E - Red and Blue Graph(组合数学)
如何使用OpenCV测量图像中物体之间的距离
Gradle series - Gradle tests, Gradle life cycle, settings.gradle description, Gradle tasks (based on Groovy documentation 4.0.4) day2-3
Koreographer Professional Edition丨一款Unity音游插件教程