调整数据大小

使用图像、纹理和着色器的正确数据大小时,可以减少内存需求。调整数据大小以反映应用程序的需求:

  • 如果目标设备的屏幕分辨率较低,确保纹理的纹素与目标屏幕的像素匹配。例如,当您在一个320 x 200像素的屏幕上有一个50 x 40像素的纹理按钮时,返回最佳质量的纹理的最佳尺寸是50 x 40像素的纹理。您可以将图像缩小与图像压缩结合使用。尝试在所需的视觉质量和应用程序性能之间找到折衷。请参阅 压缩纹理。

  • 您必须有充分的理由才能使用大于 1024 像素的纹理。如果纹理宽或高为 1024 像素并包含重复图案,请提取最小的重复图案,并在纹理中将 Wrap Mode 设置为 Repeat。

    ../../_images/wrap-mode-repeat.png
  • 纹理所需的内存直接对应于您使用的纹理格式。例如,8 位灰度纹理每个像素需要 8 位,而 RGBA8 需要四个 8 位通道(每个像素 32 位)。

  • 确保环境纹理贴图的所有面使用相同大小和格式的图像。当环境纹理贴图中的图像大小和格式不匹配时,Kanzi 使用默认环境纹理贴图。

    例如,对于环境纹理贴图的所有面,使用 256×256 像素的 8 位灰度图像。

    当环境纹理贴图中图像的大小和格式不匹配时,Kanzi Studio 使用红色标记此类纹理。

    ../../_images/cubemap-texture-faces-not-same-size.png
  • 使用 mipmaps 从大纹理创建一组缩小的子级。Mipmaps 会将 GPU 内存使用量增加三分之一,但在不需要采样完整纹理时可以提高性能。每当缩放纹理节点时,使用 mipmaps 以提高性能。

    请参阅 使用 mipmap。

避免从非常大的图像创建纹理。例如,不要直接从数码相机照片创建纹理。相反,应从预处理和适当细化的图形中创建纹理。- 确保将您用于创建和转换图像的工具创建尽可能小的图像。例如,如果您使用的是 PNG 图像,请使用 pngcheck 和 Pngcrush 等工具,以确保图像类型正确且不包含任何不必要的数据。

另请参阅

压缩纹理

并行加载资源

使用 mipmap

过滤纹理

使用图块图集

设置顶点缓存的正确大小

排除应用程序性能问题