Streaming Virtual Texturing 系统 (SVT) 将纹理划分为图块。
在运行时,当 SVT 对纹理进行采样时,它会执行以下操作:
这些运行时操作的开销意味着,将纹理组合在一起并同时对它们进行采样会更有效率。这个过程称为堆叠纹理。使用相同 UV 坐标同时采样的一组纹理称为纹理堆栈。
SVT 在帧渲染期间发出图块请求,因此将请求的图块加载到 GPU 缓存可能需要几毫秒到几秒的时间,并且在某些情况下它们可能根本不会加载到 GPU 缓存中。如果请求的图块没有加载到缓存中,SVT 具有自动回退机制:它会从更高的 Mipmap 级别对图块进行采样,直到请求的图块位于缓存中。这会导致细节级别降低,直到图块完全加载。
高清渲染管线 (HDRP) 调试视图显示有多少相邻屏幕像素请求相同的图块。
要打开 HDRP 调试视图,请导航到 Unity 顶部菜单并选择窗口 (Window) > 分析 (Analysis) > 渲染调试器 (Rendering Debugger) > 渲染 (Rendering)。要查看 SVT 的调试数据,请将全屏调试模式 (Fullscreen Debug Mode) 设置为请求的虚拟纹理图块 (RequestedVirtualTextureTiles)。
对相同纹理图块进行采样的像素具有相同的颜色。色调(绿色、红色等)表示图块所属的 Mipmap 级别。例如,所有黄色图块都属于纹理的 Mipmap 1 级。