优化
文章平均质量分 81
unity优化合集
时光不染
这个作者很懒,什么都没留下…
展开
-
实例化一个Prefab比较卡可能的原因
void Start() { Debug.Log($"开始时间:{time1 = Time.realtimeSinceStartup}"); Resources.Load("prefab"); Instantiate(Resources.Load("prefab"),this.transform) ; Debug.Log($"结束时间:{time2 = Time.realtimeSinceStartup}"); Deb.原创 2021-11-21 22:00:00 · 2804 阅读 · 3 评论 -
FixedUpdate真的能固定时间执行吗
前两天遇到个问题,在低端机型上FixedUpdate真的能做到固定时间执行吗。这个问题,Emm…我印象中的FixedUpdate,正如我百度的:然鹅…大概还有一些小伙伴和我遇到了同样的疑惑:看来看去,还是自己简单测试一下private void FixedUpdate() { index1 ++; Debug.Log($"FixedUpdate第{index1}次刷新,增量时间:{Time.deltaTime},真实时间:{Time.realtimeSinceSt原创 2021-11-18 21:46:33 · 3870 阅读 · 1 评论 -
UGUI合批规则图解
合批机制原理图解排序图解注一:以上覆盖关系与控件大小无关,只与渲染的三角面有关,如图实例图解原理图解批处理: 大致就是Unity在运行时可以将一些物体进行合并,本来需要多个drawcall指令才能渲染完成的降为1个drawcall就能搞定使用: UGUI在合批之前,会根据ui的Depth、MaterialID 、MaterialID、RendererOrder进行排序,之后对相邻的UI进行检测。判断MaterialID和TextureID是否相同,如果相同则可以进行合批处理。如果不同则会打断合批先原创 2021-11-05 11:49:10 · 3431 阅读 · 1 评论 -
Unity UGUI优化(杂篇)
一.天空盒没有必要的话不要显示如图,一个空场景的定点和三角面都大几千,如果是2d游戏或者用不到天空盒,在MainCamera把ClearFlags换成其他合适的模式去掉天空盒的无谓开销后属性如下二.动静分离这个我了解的方法一般是用新增canvas做方法一 在当前canvas平级路径新增一个canvas , 有需要动态会导致ui重建的元素就放到新增canvas中,动完再放回来。这个缺点...原创 2019-09-19 16:08:03 · 893 阅读 · 0 评论 -
Unity CPU优化卡顿
#同一时间大量instantiateInstantiate的卡顿与三部分开销相关:相关资源加载、脚本组件的序列化和构造函数的执行,并且绝大部分原因均是相关资源加载导致。资源加载是加载模块中最为耗时的部分,其CPU开销在Unity引擎中主要体现在Loading.UpdatePreloading和Loading.ReadObject两项中资源优化简化资源1、纹理资源的格式对加载性能影响同样较大,Android平台上,ETC1和ETC2的加载效率最高。同样,iOS平台上,PVRTC 4BPP的加载效率最原创 2021-06-24 15:21:18 · 4957 阅读 · 4 评论 -
UGUI优化 RaycastTarget
优化依据:UGUI事件会在EventSystem在Update的Process触发。UGUI会遍历屏幕中所有RaycastTarget是true的UI,然后发射线,并排序找到玩家最先触发的那个UI,在抛出事件给逻辑层去响应。问题:RaycastTarget如果被勾选的过多的话, 效率必然会低。根据UGUI常用拼UI方式,提出以下需求需求:1.要能看到哪个模块勾选了RaycastTarget2.创建的Image,text自动取消勾选RaycastTarget3.已创建的Image,text如果原创 2020-10-14 11:14:07 · 1713 阅读 · 0 评论