设置顶点缓存的正确大小¶
GPU 具有一定大小的顶点缓存。从缓存中访问网格顶点比从内存中其他地方访问顶点快一个数量级。您可以通过重新排序顶点缓冲区中的顶点和索引,以优化特定缓存大小的网格数据,从而使缓存命中量达到最佳。
例如,16 字节的顶点缓存可以存储位置 + 法线 + 纹理坐标 (XYZ * 2 + XYZ * 2 + UV * 2),但不足以存储位置 + 法线 + 纹理坐标 + 颜色。
要为您的目标硬件设置正确的顶点缓存大小:
了解您的目标硬件的顶点缓存大小。
在 Kanzi Studio 中选择 Project > Properties,并在 Binary Export 属性类别中的 Properties 中设置:
将 Optimize Meshes 设置为 enabled。
当您启用 Optimize Meshes 属性时,Kanzi Studio 将导出网格的顶点缓存设置为使用您在 Target Vertex Cache Size 属性中设置的大小。
Target Vertex Cache Size 到目标设备上以字节为单位的缓存大小。
将 Default Vertex Attribute Data Type 为您要用于顶点缓冲区属性的数据类型。
网格的顶点缓冲区包含一组特性,Kanzi 使用这些特性将数据发送到顶点着色器。
例如:如果将 Default Vertex Attribute Data Type 属性设置为 Half-float,与 Float 相比,您将网格数据大小减少了一半,但同时也降低了网格的精度。