Unity 场景优化(1) game视口的Statistics 内容介绍

Unity的 Statistics (stats)

Unity是多线程的。但是控制使用unity的api必须在主线程中,比如控制物体的transform信息。

Audio

Level:

DSP Load:数字信号处理(Digital Signal Processing)负载,即用于音频效果处理的时间。如果DSP负载过高,可能意味着太多的音频效果正在被应用,或者效果处理过于复杂。

Clipping:

Stream load:

Graphics

FPS:

当前游戏的帧数,计算方式是:1000毫秒除CPUmain的时间得到帧数, 1000/3=333.3 帧,cpumain时间越少越好

CPU

main3.0ms ,cpu渲染这一帧所耗费的时间

render thread:渲染线程,提交绘制命令到显卡 , 0.4ms显卡渲染这一帧所消耗的时间

Batches

批处理 (Batching)"可让引擎尝试将多个对象的渲染组合到一个内存块中以便减少由于资源切换而导致的 CPU 开销。

批次,绘制游戏场景,我们分几个批次提交给CPU来绘制,

Saved by Batching

场景中,有多少个物体是被合皮渲染绘制徐然的。

假设在有三个批次,

每个批次有10个,则为(10-1)*3=27,则Saved by Batching=27

Tris(三角形点数)

绘制的三角形面数,数据越低越好,

Verts

绘制的图形的顶点数,数据越低越好

Screen

屏幕分辨率,以及这个分辨率所消耗的内存

SetPass call

绘制一个3D物体》渲染管道流水线》图像屏幕》pass 渲染管道。

配置渲染管道,shader配置好,切换shader的次数,这个性能消耗很高

尽可能让同一个shader物体在一起绘制,每次切换shader就会+1

Shadow casters

阴影的开销

打开阴影

关闭阴影

Visible skineed meshes

渲染的蒙皮网格的数量, 可见的蒙皮网格数量,蒙皮网格比普通的网格消耗性能。

Animation compoents playing

animation 正在播放的数量 ,当数量很多的时候会降低帧率

animation 每一帧,都会计算我们的模型的顶点的数量,采样,所以就会比较消耗性能

Animator compoents playing

Animator 正在播放的数量,当数量很多的时候会降低帧率

Animator 每一帧,都会计算我们的模型的顶点的数量,采样,所以就会比较消耗性能

影响图形性能的主要因素

常见瓶颈及检查方法:

GPU 通常受填充率或内存带宽制约。

降低显示分辨率并运行游戏。如果显示分辨率降低后游戏运行更快,表明 GPU 填充率可能是限制因素。

CPU 通常受到需要渲染的批次数的限制。

检查 Rendering Statistics 窗口中的"batches"。渲染的批次越多,CPU 成本越高。

用于提高游戏运行速度的简单核对表

  1. 在针对 PC 平台进行构建时,保持顶点数量低于 200K 和 3M/帧(具体值取决于目标 GPU)。
  2. 如果要使用内置着色器,请从 Mobile 或 Unlit 类别中选取。这些类别也适用于非移动平台,但它们是更复杂着色器的简化和近似版本。
  3. 保持每个场景使用较少的不同材质,并尽可能在不同对象之间共享材质。
  4. 在非移动对象上设置 Static 属性以便允许内部优化,如静态批处理。
  5. 只有一个(最好是方向性的)pixel light 影响几何体(而不是有多个)。
  6. 烘焙光照而不是使用动态光照。
  7. 尽可能使用压缩纹理格式,并使用 16 位纹理而非 32 位纹理。
  8. 尽可能避免使用雾效。
  9. 如果复杂的静态场景具有大量遮挡,使用遮挡剔除减少可见几何体数量和绘制调用次数。设计关卡时注意遮挡剔除。
  10. 使用天空盒"伪造"远处的几何体。
  11. 使用像素着色器或纹理组合器来混合多个纹理而不是使用多 pass 方法。
  12. 尽可能使用 half 精度变量。
  13. 最大限度减少在像素着色器中使用复杂的数学运算,例如 pow、sin 和 cos。
  14. 每个片元使用更少的纹理。

参照文档

优化图形性能

复制代码
https://docs.unity.cn/cn/2019.4/Manual/OptimizingGraphicsPerformance.html

渲染 Statistics 窗口
https://docs.unity.cn/cn/2019.4/Manual/RenderingStatistics.html

相关推荐
Solange__1 天前
在线3D预览器、Blender和游戏引擎怎么选?按5类任务比较格式、隐私与编辑性
人工智能·游戏·3d·游戏引擎·blender·1024程序员节·关卡设计
peter67681 天前
unity2d游戏开发经验总结
unity
郝学胜-神的一滴1 天前
游戏设计:原型与开发 19:U3D工位布置与性格说明书
人工智能·算法·unity·unreal engine·游戏策划·游戏设计
Aman19841 天前
Claude Code做Unity项目移植(二): 自动执行只读操作,告别频繁的
unity·游戏开发·vibe coding·claude code
暴走约伯2 天前
【VFX工具链源码拆解 02】告别机械劳动(上):一键统改百个子粒子颜色与批量重命名
3d·unity·c#·材质
郝学胜-神的一滴2 天前
游戏设计:原型与开发 18:Unity入门的第一课
人工智能·程序人生·游戏·ui·unity·游戏引擎
淡海水2 天前
09-01-内存-Unity资源生命周期全景
unity·c#·游戏引擎·.netcore·gc
Solange__2 天前
AI世界模型、3D场景生成和游戏引擎怎么选?按5类任务比较交互、物理与导出
开发语言·人工智能·游戏·平面·3d·自然语言处理·游戏引擎
LF男男2 天前
Flower Defense—UIFacade
unity
呆呆敲代码的小Y2 天前
【实战精选面试题】Unity精选面试题详细解答,按模块整理汇总
人工智能·游戏·unity·游戏引擎