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多少次。