Unity渲染Stats分析

文章目录

  • 前言
  • 一、Stats
  • 二、我们主要看渲染状态分析
    • 1、FPS
    • 2、其他状态信息
    • 3、DrawCall
    • 4、Batch
    • 5、Setpass Call
    • 6、在Unity中弱化了DrawCall的概念,我们主要看 Batch 和 Setpass Call
  • 三、使用 Batching(合批) 降低 Batch (渲染批次)
    • 1、Dynamic Batching 动态合批
    • 2、Static Batching 静态合批
    • 3、GPU Instancing CPU实例化


前言

Starts 是Unity用于查看渲染状态的小工具


一、Stats

在Unity中,用Stats工具来进行渲染状态分析

在Game窗口->Stats查看

Unity渲染Stats分析_第1张图片

Unity渲染Stats分析_第2张图片


二、我们主要看渲染状态分析

1、FPS

帧率(Frames Per Second),即一秒内渲染多少帧。

Unity渲染Stats分析_第3张图片

可以看出我们在 PC 端运行,渲染帧率达到了 500 多帧。
但是,实际打包到手机端,渲染帧率就没有这么高了,所有我们还是得主要看实际打包后的结果

  • 1s = 1000ms
  • ms = 1000 / 目标帧率
  • 1s 有 30帧的话,1ms = 33.3帧
  • 1s 有 30帧的话,1ms = 16.6帧

2、其他状态信息

Unity渲染Stats分析_第4张图片

  • 为什么我们的空场景中,会有 1.7k个三角形面 和 5k 个顶点

因为我们的天空盒是一个球形,球的面数和顶点较多

  • 我们使用单一颜色 替换 天空盒,就可以看见 三角面 和 顶点数 减少

Unity渲染Stats分析_第5张图片

Unity渲染Stats分析_第6张图片

3、DrawCall

CPU每次调用图形API命令GPU进行渲染的操作

4、Batch

把需要渲染的 数据加载到显存并设置好渲染状态,然后CPU调用GPU渲染的过程为一个Batch

5、Setpass Call

每次GPU切换一个Pass前,都会产生一次SetPassCall

6、在Unity中弱化了DrawCall的概念,我们主要看 Batch 和 Setpass Call


三、使用 Batching(合批) 降低 Batch (渲染批次)

合批有哪些方法:

1、Dynamic Batching 动态合批

2、Static Batching 静态合批

3、GPU Instancing CPU实例化

你可能感兴趣的:(Unity,unity,游戏引擎)