基于CPU的代码优化 ?
一: CPU的优化方案(减少Object以及CPU的准备工作)
1.批处理 (Batch)
批处理的原理:通过共享数据(应该是材质缩放比较相近的物体进行批处理共用一片数据)降低CPU对于大量Object的数据准备工作,降低DrawCall,优化性能。
方法: 将进行批处理的物体群体勾选Batching Static属性,即可。
我们不难看出,批处理后DrawCall下降了很多,是因为7个Cube共用了一片数据(材质颜色数据等等),CPU不需要多次计算每个cube的数据,优化了性能。
2.使用更少的材质 (贴图组合)
3.少使用某些技术 shadow,lightMap,Reflection
Unity整体性能优化篇 第(三)节已经讲过
4.合并材质(合并mesh时注意合并材质) (性能不会优化)
共用一片材质时,会节约资源
二:资源池-Object Pool技术
1.Object Pool介绍:
前提:由于CPU非常受到Object数量的影响,例如在一款不停的生成相同东西的游戏,我们一直生成销毁,这样一瞬间CPU的准备工作量就会叠加的非常大。
资源池:将对象统一生成在对象池之下,进行管理,开始时进行全部隐藏,每次其他地方调用时激活其中一个返回即可,达到目标条件后继续被隐藏。
优点:降低了实例化对象的

本文探讨Unity游戏开发中的CPU性能优化,包括批处理、减少材质使用、避免特定技术,以及对象池技术的实现,以降低DrawCall并提高效率。通过对象池管理资源,减少频繁的对象生成和销毁,从而优化CPU和GPU负载。
最低0.47元/天 解锁文章
12万+

被折叠的 条评论
为什么被折叠?



