随笔分类 -  Unity优化

摘要:当我们定制Unity编辑器的时候,往往需要启动额外的协程或者线程进行处理。比如当执行一些界面更新的时候,需要大量计算,如果用户在不断修正一个参数,比如从1变化到2,这种变化过程要经历无数中间步骤,调用N多次Update,如果直接在Update中不断刷新,界面很容易直接卡死。所以在一个协程中进行一些优化,只保留用户最后一次参数修正,省去中间步骤,就会好很多。 阅读全文
posted @ 2017-03-23 08:02 AndrewFan 阅读(2761) 评论(3) 推荐(2)
摘要:Unity系统的泛型List存在的问题是:它在finally中回收枚举器时执行了Box操作。自定义List时,正确实现泛型格式的IEnumerable、IEnumerator是关键,需要避开枚举单元被Current时,值类型被强制转换成对象类型的Box操作。 阅读全文
posted @ 2017-03-11 13:49 AndrewFan 阅读(2096) 评论(7) 推荐(1)
摘要:关于Unity中的Foreach这个话题,网络上讨论的很多,我也收集了一些资料,都不是很齐全,所以自己亲自测试,这里把结果分享给大家。foreach究竟怎么了?研究过这个问题的人都应该知道,就是它会引起频繁的GC Alloc。也就是说,使用它之后,尤其在Update方法中频繁调用时,会快速产生小块垃圾内存,造成垃圾回收操作的提前到来,造成游戏间歇性的卡顿。 阅读全文
posted @ 2017-03-04 10:40 AndrewFan 阅读(4692) 评论(3) 推荐(2)
摘要:我所理解的IL指令,这里目前只列举了一些常见指令,box、unbox、newobj、ldc、stloc等等,我认为比较重要的指令,学习Unity最好是要深刻了解C#较为底层的IL实现。 阅读全文
posted @ 2017-03-02 21:50 AndrewFan 阅读(790) 评论(0) 推荐(0)
摘要:做游戏好多年了,关于游戏优化一直是令开发者头疼的一个问题。本系列文章将涉及到如何提高脚本运行效率、避免频繁的GC、降低DrawCall、优化顶点数和顶点计算、优化片元计算、降低物理计算等一系列问题和方法。 阅读全文
posted @ 2017-03-01 12:05 AndrewFan 阅读(1021) 评论(0) 推荐(0)