美文网首页unity
Unity——GPU性能优化

Unity——GPU性能优化

作者: Sonnet_Studio | 来源:发表于2021-05-18 16:29 被阅读0次

从三个方面入手:

1:Fill Rate

2:GPU Memory Bandwidth

3:Vertex Processing

可以使用Unity Profiler查看数据进行性能分析

①打开Profiler界面,然后通过Window

> Analysis > Profile Analyzer 打开 ProfileAnalyzer的界面。

一:Fill Rate

1.减少 shader中的 Fragment Shader 的复杂度,因为Fragment shader 负责告诉GPU要怎么往屏幕上画像素。

2.使用更优化的Shader,比如 MobileShader

(Mobile Shader也可以用在除移动平台之外的地方)

3.如果使用的是Standard Shader,可以减少使用贴图的数量,这样Unity在编译时会自动优化。

4.需要分析所使用的Image Effect 对整体 Fill Rate 的影响,如果实在影响很大,那就要禁用某些Image Effect。

二:GPU Memory Bandwidth

1.Texture Compression

参考官方链接:https://docs.unity3d.com/Manual/class-TextureImporterOverride.html

2.Mipmap和 Mipmap Streaming

Mipmap可以提升GPU的渲染性能,不会让视觉效果打折,减少可能产生的图像缺失;

注意:如果资源在 Z 方向未发生变化,就没必要使用Mipmap。Mipmap会增加内存占用。

不使用的地方 例如:

UI贴图

天空盒

图标

Cookies

不适用的贴图类型:

Decal贴图

probe 贴图

Unity Terrain 系统中的贴图

如果是通过像Graphics.DrawMeshNow这样的API直接加载的贴图,需要使用Texture Streaming API 手动设置Mip level

三:Vertex Processing

1.尽量减少网格上的顶点数量(简化模型)

2.使用 Normal Map 表现模型细节

3.如果模型上没有使用Normal Map,可以在 Model Import Setting 界面禁用此模型的Vertex Tangents 选项。

4.使用 LOD

5.降低自定义Shader中 Vertex shader 的复杂度(Vertex shader 是 shader中告诉GPU如何画出每个顶点的代码块)

6.如果使用的是标准着色器,那么尽量使用简单的着色器,比如Mobile Shader。

主要介绍一下LOD:

什么是LOD(Level of Detail)

1.按照摄像机离开物体的距离显示不同精度的模型。摄像机离开物体越远,所用于显示的模型精度越差。

2.在建模软件中制作同一模型的不同精度的版本,按照以下命名规则来命名:

比如说模型名称为Dropship,在每个模型后面加上_LOD+数字,比如_LOD0或者_LOD00。_LOD0为精度最高的版本,精度越低,最后的数字越大。

3.从建模软件把这些模型一并导入Unity,Unity会使用LODGroup组件制作支持LOD的预制件Prefab。

记录下目前学到的GPU相关的性能优化,后续再补...

相关文章

  • Unity——GPU性能优化

    从三个方面入手: 1:Fill Rate 2:GPU Memory Bandwidth 3:Vertex Proc...

  • Android性能优化 - CPU/GPU篇

    Android性能优化 - UI篇Android性能优化 - CPU/GPU篇 前言 本篇主要讲解APP性能优化路...

  • 对于手游的优化

    给手游做优化,无非就CPU性能优化、内存性能优化、资源优化、GPU优化、IO优化、网络优化、耗电优化这些,为此汇总...

  • IOS性能优化(多线程及GPU)(一)

    IOS性能优化(多线程及GPU) 性能优化相关知识链接 前言: 说到性能优化,这个话题挺广的,有的需要优化tabl...

  • Android UI优化

    Android性能优化 - UI篇Android性能优化 - CPU/GPU篇 一、UI层级优化 借助工具:Hie...

  • 性能优化02-布局优化

    性能优化02-布局优化 一、CPU与GPU 1、定义 为什么要了解CPU与GPU呢?因为布局绘制就是CPU与GPU...

  • 【Unity项目实战】http网络插件和性能优化

    使用http网络请求:Untiy中常用通信(HTTP)插件BestHttp 性能优化:Unity性能的全面优化详解

  • Unity 3D 游戏优化

    Unity优化是一个很大的概念,我们优化时需要注意三个方面:CPU优化,GPU优化,内存优化. CPU方面的优化:...

  • UI绘制优化

    性能优化的目的不是优化项目,而是优化编码习惯。--jett CPU 与GPU工作流程 VSYNC(vertical...

  • [Unity优化] unity性能优化

    资源管理 Q:我们图标现在是制作成图集后再使用的,但是当图标数量很多的时候,图集的膨胀就很厉害了。对此我们的做法有...

网友评论

    本文标题:Unity——GPU性能优化

    本文链接:https://www.haomeiwen.com/subject/kecyjltx.html