纹理流送配置

检查编译纹理流送的准确性后,便需要调整纹理流送器的行为和优先级。 以下参数可通过配置文件进行调整,其中大多数均可在运行时通过控制台窗口进行更新。

命令 描述
r.TextureStreaming 启用或禁用纹理流送器。禁用后,所有纹理 mip 将在内存中完整加载(即使纹理不会用于渲染)。可在运行时开启/关闭此选项。
r.Streaming.PoolSize 控制纹理池的大小。在非流送分配后,流送池使用纹理池中剩余的内容。设为 0 时,内存约束将被流送器无视。这还会移除临时的内存约束(限制进行中的请求数量),所有纹理将被无限保存在内存中。
r.Streaming.UseFixedPoolSize 纹理池大小能否在运行时修改。
r.Streaming.FramesForFullUpdate 控制流送器状态的完整更新将被分布到多少帧上。数值越高,则需要的临时池更大(防止出现缺乏 IO 请求),还会影响流送器的活动性。数值越低,则主线程上花费的更新时间越长。
r.Streaming.UseNewMetrics 为流入 mip 的逻辑使用最新修改,或继续使用之前的计算。只有新测度较之于之前的测度有所改善时才可用于兼容性。
r.Streaming.MaxTempMemoryAllowed 临时池的大小(参见 Reporting Texture Streaming Metrics)。
r.Streaming.HLODStrategy 控制层级 LOD 纹理的加载策略:
  • 0:允许所有 mip 的流送

  • 1:只允许最后一个(最大) mip 的流送。

  • 2:流送所有可流送的 mip。

r.Streaming.HiddenPrimitiveScale 在组件引用不可见纹理(即其边界框被遮挡)时控制应用到所需分辨率的比例。这只会在分辨率被最大可用分辨率锁定前对其产生影响,避免降低已受限纹理的质量。换言之,它只会对拥有恰当视口分辨率的纹理产生影响。
r.Streaming.MaxEffectiveScreenSize 如不为零,计算需要的纹理分辨率时将限制流送器所考虑的屏幕尺寸。这将防止高分辨率要求极大的流送池。
r.Streaming.Boost 整体加速,影响纹理所需的分辨率。
r.Streaming.MipBias 整体 mip 偏差,可避免流送器为每个纹理加载最大 mip。用于适应较小的流送池。这还会影响流送器尝试为视点加载的 mip,就和较小的 r.Streaming.Boost 或限制的 r.Streaming.MaxEffectiveScreenSize 一样。

此偏差的应用方式存在一些例外:

  • 地形和地貌纹理:偏差无效果。

  • 层级 LOD 纹理:偏差不限制最大分辨率。

  • 光照图和阴影贴图:偏差只限制最大分辨率。

r.Streaming.UsePerTextureBias 限制整体 mip 偏差对最大允许 mip 的效果,不限制其对视点所需 mip 的效果,并将其应用至纹理以便适应流送池。每个纹理皆有其自身的 mip 偏差,从 0 到 MipBias(取决于预算计算)。
r.Streaming.DropMips 此调试选项可避免将 mip 保存在内存中(即使流送池允许):
  • 0:不删除 mip。

  • 1:删除已缓存的 mip。

  • 2:删除已缓存和隐藏的 mip。

此举的目的是确定所需 mip 计算的精确度,因为显示的分辨率会受到之前加载的请求或隐藏基元的影响。

r.Streaming.FullyLoadUsedTextures 将所有已使用的纹理流送至其最大可用分辨率,并将其永久保存在内存中。可用作完全禁用纹理流送的另一种方法,避免加载从不使用的纹理(占用更多内存)。
r.Streaming.UseAllMips 是否移除纹理群组设置和动画设置中的所有分辨率限制。展示美术效果或制作宣传材料时使用。
r.Streaming.AnalysisIndex 材质纹理坐标比例准确性查看模式 中使用,确定单个纹理的精确度。