Unity绘制调用(Draw Call)、批次(Batch)
要将游戏中的物体显示到屏幕上,就需要绘制它们。绘制之前,会先由CPU计算出它们的位置、颜色等信息,然后发送绘制指令给GPU。GPU接受到CPU发过来的绘制指令,就会按照要求绘制东西在屏幕上。
Draw Call是指CPU向GPU发送绘制指令的过程,一个Draw Call就是CPU向GPU发送的一组绘制指令,可以绘制出一个或多个物体。
Draw Call有时也被简称为DC
Draw Call太多会使游戏变卡,优化的时候可以想办法降低Draw Call。
要降低Draw Call,可以使用合批技术,例如动态合批和静态合批。将多个Draw Call合批成一个批次(Batch),再由CPU发送给GPU,这样可以提升游戏性能。
垂直同步
垂直同步用于将游戏的帧率限制为显示器的刷新率,可以防止游戏画面在高速移动时的画面撕裂现象,使游戏画面更加平滑和连贯。
如果不启用垂直同步,当游戏的帧率高于显示器的刷新率时,图像的一部分可能会在显示器刷新之前更新,导致画面上出现明显的断裂线。而启用垂直同步后,图形处理器会等待显示器完成一次完整的刷新,然后再发送下一帧图像,确保每个图像帧都在刷新之前完全绘制,从而消除了撕裂现象。
但是启用垂直同步会消耗一些性能,也可能会出现卡顿的现象,要根据自己的实际情况来决定是否启用。
网格
网格用来定义一个模型的形状、大小和表面细节等信息。
模型的所有顶点、线、面共同构成了这个模型的网格。
蒙皮网格(Skinned Mesh)
蒙皮网格是一个与骨骼绑定的网格,这个网格可以发生形变和做出各种动作。
一个网格在没有蒙皮之前是不能发生形变的,也不能做出各种动作的。但是在成功蒙皮之后,这个网格就可以发生形变和做出各种动作。