当前位置:网站首页>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
边栏推荐
- 牛客刷SQL--5
- MBI5020 LED驱动
- The basic knowledge of scripting language Lua summary
- Six Stones Programming: Problems must be faced, methods must be skillful, and functions that cannot be done well must be solved
- 【2022蓝帽杯】file_session && 浅入opcode
- 8. How does the SAP ABAP OData service support the Create operation
- lua脚本关键
- 【码蹄集新手村600题】判断一个数字是否为完全平方数
- [机缘参悟-57]:《素书》-4-修身养志[本德宗道章第四]
- 性能优化——粒子优化笔记
猜你喜欢
AtCoder Beginner Contest 261 D - Flipping and Bonus
Koreographer Professional Edition丨一款Unity音游插件教程
Based on 10 years of experience in stability assurance, what are the three key questions to be answered in failure recovery?|TakinTalks big coffee sharing
MCU开发是什么?国内MCU产业现状如何
Yann LeCun开怼谷歌研究:目标传播早就有了,你们创新在哪里?
PAT1166 Summit(25)
魔众短链接系统 v3.9.0
gpio模拟串口通信
Gradle系列——Gradle测试,Gradle生命周期,settings.gradle说明,Gradle任务(基于Groovy文档4.0.4)day2-3
How do we do full-link grayscale on the database?
随机推荐
什么是一致性哈希?可以应用在哪些场景?
Multithreading Case - Timer
PAT1166 Summit(25)
207.数组序号转换
珠海首个水环境安全监测系统上线
代理商替代义隆153 Aip4210
AtCoder Beginner Contest 261 D - Flipping and Bonus
Performance Optimization - Rendering Optimization Notes
【每日一题】1331. 数组序号转换
什么是混合元编程
leetcode: 1201. Ugly Number III [Dichotomy + Mathematics + Inclusion and Exclusion Principle]
树和二叉树的转换
170页6万字智慧能源管理平台建设方案书
数据挖掘-04
Two Permutations
PIR人体感应AC系列感应器投光灯人体感应开关等应用定制方案
How do we do full-link grayscale on the database?
VIP的实现原理
什么是闭包?
论文详读《基于改进 LeNet-5 模型的手写体中文识别》,未完待补充