What is VBO Total in the Stats window?

I read what the manual says. I still don’t understand it, because in a scene with 4 visible objects with mesh renderers, VBO total is anywhere from 25 to 37. If I turn on static batching, the draw calls drop from 4 to 1 but the VBO is unaffected.

So what is this number really measuring, and what is a safe value to keep it under to target current generation iOS devices? ( I realize that is a separate question, but it’s my reason for asking the first question, so is relevant. )

In the Stats window, the “VBO Total” displays the total number of vertex buffer objects (VBOs) being used to render all the meshes in the scene. A VBO is a data buffer that is stored on the graphics processing unit (GPU) and is used to store vertex data (such as positions, normals, and texture coordinates) for a mesh. When a mesh is rendered, the vertex data is copied from system memory to the GPU as a VBO, allowing the GPU to access the data quickly and efficiently when rendering the mesh.

The “VBO Total” in the Stats window is the total number of VBOs being used to render all the meshes in the scene. If a mesh is using multiple VBOs (for example, if it has multiple submeshes), each VBO will be counted separately.

The “VBO Total” in the Stats window is not directly related to the number of draw calls being made. The number of draw calls represents the number of times the GPU has to execute the rendering pipeline to draw the meshes in the scene. The number of VBOs being used can affect the number of draw calls, but it is not the only factor.

As for what is a safe value to keep the VBO Total under to target current generation iOS devices, it’s difficult to give a specific number since the amount of memory available on a device can vary depending on the specific model and other factors. In general, it’s a good idea to try to minimize the number of VBOs being used in order to reduce the amount of memory being used by the GPU and improve performance. However, it’s also important to balance this with the need for efficient rendering and the complexity of the meshes in your scene.

If you are experiencing performance issues on iOS devices, it’s a good idea to profile your application and look for areas where you can optimize the number of draw calls and the amount of memory being used by the GPU. This might involve optimizing the meshes in your scene, using static batching or instancing, or using other techniques to reduce the number of VBOs being used.