一开始不会看UnityStats窗口,也不知道那些具体有什么用,他们想要表达什么,后来到游戏优化的时候,他们会告诉你一些信息。这篇是我搜集的资料,好像有好几篇在这,稍微整理了一下!
简介:Stats窗口,全程叫做 Rendering Statistics Window , 即渲染数据统计窗口,它会实时统计数据。
FPS(Time per frame andFPS)
frames per seconds 表示引擎处理和渲染一个游戏帧所花费的时间,该数字主要受到场景中渲染物体数量和 GPU 性能的影响,FPS 数值越高,游戏场景的动画显示会更加平滑和流畅。
一般来说,超过 30FPS 的画面人眼不会感觉到卡,有视觉残留的特性,光在视网膜上停止用后人眼还会保持 1/24 秒左右的时间,因此游戏画面每秒帧数至少要保证在 30 以上。
另外,Unity 中的 FPS 数值仅包括此游戏 Scene 里更新和渲染的帧,编辑器中编辑的 Scene 和其它监视窗口的进程不包括在内。
CPU
获取到当前占用 CPU 进行计算的时间绝对值,或时间点,如果 Unity 主进程处于挂断或休眠状态时,CPU time将会保持不变。(CPU(处理器计算速度):越低越好)
Render thread
GPU 渲染进程处理图像所花费的时间,具体数值由 GPU 性能来决定。(渲染线程,GPU渲染所需要的时间):越低越好
Batches
Batches 即 Batched Draw Calls, 是 Unity 内置的 Draw Call Batching 技术。
一般来说,引擎每对一个物体进行一次 DrawCall,就会产生一个 Batch,这个Batch 里包含着该物体所有的网格和顶点数据,当渲染另一个相同的物体时,引擎会直接调用 Batch 里的信息,将相关顶点数据直接送到 GPU, 从而让渲染过程更加高效,即 Batching技术是将所有材质相近的物体进行合并渲染。
Saved By Batching
这个值是由于 Batch 减少的 DrawCall, 可以间接的看到场景优化的效果。这个值有两部分组成: Static Batching 和 Dynamic Batching。
这个由 Unity 内建自动合并虽然优点多多,但也不是没有缺陷。静态合并会引发内存和存储的额外开销,动态合并会增加 CPU 的负担。总体上讲所以希望批次渲染的元素要有相同的材质。通常两个材质如果只有贴图不同,可以将贴图合并到一张大图中,这就是所谓的和图。另外在使用 ShadowCaster 时,只要材质相同,即使贴图不同也可以合并渲染。
Verts
摄像机视野(field of view)内渲染的顶点数
Tris
摄像机视野(field of view)内渲染的三角面总数量。
Shadow casters
表示场景中有多少个 可以投射阴影的物体,一般这些物体都作为场景中的光源。
Visible skinned meshed
渲染皮肤网格的数量。
Animations
正在播放动画的数量。
以及获取这些属性值的一些方法