Version: Unity 6.0 (6000.0)
语言 : 中文
使用 Mipmap 串流优化 GPU 纹理内存
启用 Mipmap 串流

Mipmap 串流简介

使用 Mipmap 串流可限制 GPU 内存中的纹理大小。

Mipmap 串流的工作原理

对于摄像机视图中的每个纹理,Unity 会自动计算并加载 Mipmap 级别,但仅加载到特定级别,而不是加载所有级别。这意味着 Unity 仅将每个纹理的某些 Mipmap 级别从磁盘传输到 CPU 和 GPU。

Unity 会以尽可能高的分辨率加载 Mipmap 级别,但如果更高分辨率的 Mipmap 级别不符合您设置的内存限制,则使用较低的 Mipmap 级别。有关设置内存限制的更多信息,请参阅配置 Mipmap 串流

Unity 在 GPU 上缓存 Mipmap 级别,从而避免从磁盘和 CPU 重复加载 Mipmap 级别。

限制

  • Unity 不支持地形纹理上的 Mipmap 串流,因为 Unity 始终需要最高分辨率的 Mipmap 级别。
  • Unity 不支持纹理数组、立方体贴图数组或 3D 纹理的 Mipmap 串流。
  • 如果使用 Graphics.DrawMeshNow 等 API 来渲染纹理,则 Unity 没有计算 Mipmap 级别所需的信息。使用 Texture2D.requestedMipmapLevel API 手动设置纹理的 Mipmap 级别,或在纹理上禁用 Mipmap 串流。
  • Unity 可能无法为不使用纹理平铺和偏移特殊 _ST 属性的纹理计算正确的 Mipmap 级别。有关 _ST 属性的更多信息,请参阅使用 Cg/HLSL 访问着色器属性
使用 Mipmap 串流优化 GPU 纹理内存
启用 Mipmap 串流