Unity的Stats统计面板

Stats统计面板可以统计摄像机视野内所有元素顶点和面片的数量和、批处理次数、CPU耗时等。

1. 三角形面数(Tris)和顶点数(Verts)

Tris是Triangles(三角形)的缩写。
Vert是Vertex(顶点)的缩写。

1.1 天空盒的面数和顶点数

然后看Stats面板,竟然发现Trix(三角面)高达1.7k,Vertex(顶点数)高达5.0k,这是为何?(k是千的意思)
原因是摄像机的背景是天空盒,天空盒其实也是个模型(只是Unity中看不到罢了)。

1.2 屏幕的面数和顶点数

修改摄像机的Clear Flags为Solid Color(纯色)。

再看Stats面板,发现Trix变为2,Vertex变为4了。这两个面片其实是屏幕。

1.3 Stats统计面板只统计摄像机视野内所有元素顶点和面片的数量

Stats统计面板只统计摄像机视野内所有元素顶点和面片的数量,视野外(摄像机视锥体外)的元素不统计。
新建一个球体,球在摄像机视野内。

1.4 Unity3D和3DMax统计模型顶点数的计算方式不同

Unity3D统计顶点数的方式是:如果一个顶点同时在N个面上,则统计为N。(Unity3D中的Cube物体有24个顶点,原因就是1个顶点在3个面上)
而3DMax统计顶点数的方式一个顶点就是一个顶点,无论它同时在几个面上。(所以3DMax中创建一个最简单的Cube物体其顶点数是8)

1.5 单位

Stats统计面板中顶点数和三角面数的单位有k和M。
k表示千(不是1024哈),如Tris: 1.5k表1500个三角面。
M表示兆,百万,如:2M表示两百万个三角面。

1.6 影响Stats面板顶点数和三角面数的因素

①摄像机看到的模型的数量
这个就不多说了哈,一看就明白。
②光照和阴影
灯光如果开启了阴影(灯光的Shadow Type选项),然后照射到模型上,若模型开启了投射阴影(Mesh Renderer的Cast Shaows选项)则顶点数和面数将会增加。其实就是阴影会增加面数和顶点数。

2. FPS

FPS就是Frames Per Second每秒传输帧数,又叫帧率,就是游戏一秒钟渲染多少帧。

3. SetPass calls

首先看看什么是SetPass,就是设置Pass,Pass是Shader中的一个代码块,一个Pass就代表一次完整的渲染。简单但不准确的说,一个SetPass就是更换一次材质球。
call是调用的意思。
总结起来,简单但不准确的说,SetPass calls代表的就是设置材质球的次数。

4. Shadow casters

Shadow caster 阴影投射器。说明该值与阴影相关。
Shadow Casters 属性用于统计在有光照的前提下且在摄像机的视锥体范围内, 有多少游戏物体具备投射阴影的能力。

5. Batches和Saved by batching

Batch 批处理。

批出理的核心就是CPU把使用相同材质球的物体的网格合并再一起,然后把这个合并后的网格扔给GPU渲染,而不是一个一个网格扔给GPU渲染。

Stats面板上的Batches的值(批处理次数)说白了就是Draw Call的次数,就是要渲染完整个场景,CPU要总共通知GPU多少次。