【Unity性能优化】一些简单的性能优化踩坑(会不断的补充)

文章目录

    • 1. 代码层面
    • 2. 资源方面
      • 2.1 贴图
      • 2.2 3D渲染


做优秀的游戏对性能的要求要相当严格。在代码编写完成后和编写时可以使用 Profiler 来进行性能检测,它是一个很好用的性能优化工具,可以快速准确找到游戏的性能瓶颈。此外,在编写的时候更应该按照一些 优化规范 来避免游戏的性能消耗。
下面列举一些游戏开发过程中的性能优化建议。

1. 代码层面

避免使用foreach
foreach在循环迭代的时候,会产生垃圾对象,这样就会引起GC,GC是很消耗性能的操作

减少string操作
比如两个字符串相加,同样会产生垃圾对象,可以尽量使用StringBuilder.Append

少用GetCoComponent
GetCoComponent的性能也非常低,一般都配合对象缓存使用,同上面就会造成GC,从而影响效率。

使用对象池
使用ObjectPool管理对象,避免频繁Instance,Destroy对象。

2. 资源方面

2.1 贴图

  1. 通过调整纹理资源来调整图的大小
  2. ios尽量使用PVRT压缩纹理,安卓使用ETC1格式压缩,可以缩减到1/4内存。
  3. UI,2D场景可以把Generate Mip Maps设置去掉,Mip Map将生成一系列图形,摄像机根据和渲染的物体不同的距离选择不同的图像进行渲染,内存换性能。UI,2D场景不需要这种方法。
  4. 贴图长宽比1:1,边长为2的倍数。会让GPU渲染更加方便。

2.2 3D渲染

  1. 少使用透明物体,减少overdrall
  2. 减少实时光照
  3. 使用LightMap
  4. 使用遮挡剔除

你可能感兴趣的:(我做游研这件事,unity,性能优化,游戏引擎)