![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity优化
张震1024
这个作者很懒,什么都没留下…
展开
-
unity纹理格式选择
Android平台不带透明通道优先使用ETC1,而带透明通道的优先使用ETC2.如果显示质量无法达到要求还可以使用RGBA16,最后才使用RGBA32.总体来说正确使用优先顺序是ETC1>ETC2->RGBA16->RGBA32.另外针对Android平台Unity还实现了一套Crunched压缩方式,比如RGBA Crunched ETC2压缩格式,会先用ETC2进行压缩,然后再用Crunched压缩一遍。虽然运行时逻辑上需要再额外解压缩一遍,但是由于Crunched压缩会让贴图原创 2020-07-16 17:15:14 · 935 阅读 · 0 评论 -
RaycastTarget (勾选标记代码)
UI事件会在EventSystem在Update的Process触发。UGUI会遍历屏幕中所有RaycastTarget是true的UI,接着就会发射线,并且排序找到玩家最先触发的那个UI,在抛出事件给逻辑层去响应。所以RaycastTarget如果被勾选的过多的话, 效率必然会低。把下面代码挂在游戏中的任意GameObject上,原理其实很简单就是绘制辅助线, 就可以很清晰的看到勾选RaycastTarget#if UNITY_EDITORusing UnityEngine;using Syst原创 2020-07-15 17:56:47 · 1372 阅读 · 0 评论 -
优化UGUI的ScrollRect 实现无尽模式
UGUI的ScrollRect在加载太多物体的时候,第一次弹出界面会非常卡顿,而且不在界面里的内容依然会参与绘制,导致毫无意义的浪费。笔者对此进行了一番研究,并将心得与大家分享。介绍每个元素知道自己的序号,可以根据需要修改自己的内容、大小等信息。此外支持了ScrollBar,支持横向、纵向及正反向。在关闭Mask后可以看到,只有当需要的时候才动态实例化元素,使用完后回收。最原始版本的代码是@ivomarel的InfinityScroll。我改到后来,基本和原始版没啥相同的了。原代码使用了size原创 2020-07-10 18:17:25 · 299 阅读 · 0 评论 -
降低Fill Rate(不参与绘制的组件解决方法)
Fill Rate(填充率)是指显卡每帧每秒能够渲染的像素数。在每帧绘制中,如果一个像素被反复绘制的次数越多,那么它占用的资源也必然更多。目前在移动设备上,FillRate 的压力主要来自半透明物体。因为多数情况下,半透明物体需要开启 Alpha Blend 且关闭 ZTest和 ZWrite,同时如果我们绘制像 alpha=0 这种实际上不会产生效果的颜色上去,也同样有 Blend 操作,这是一种极大的浪费。...原创 2020-07-10 10:38:20 · 510 阅读 · 0 评论