包含此页的版本:
不含此页的版本:
虚拟纹理使用GPU内存中的固定大小纹理缓存。每种图形格式都有一个缓存。您可以配置缓存的默认大小并覆盖其默认大小。
流送虚拟纹理(SVT)系统还在主内存中使用一个CPU缓存来存储图块页面。磁贴页包含多个磁贴,SVT 系统将这些磁贴从磁盘一起读取到 CPU 缓存中。这提高了速度较慢的驱动器上磁盘的读取吞吐量速度。当虚拟纹理系统请求磁贴时,它会读取包含该磁贴的页面。系统可能会在以下帧中请求该页面中的其他磁贴,因此 CPU 缓存会保留该页面以避免从磁盘再次读取。CPU缓存大小越大,虚拟纹理可以将页面保留在主内存中的时间就越长。
虚拟纹理在渲染具有纹理堆栈的材质时分配给定图形格式的GPU缓存,该材质的纹理使用该格式。您可以在 HDRP 资产上配置缓存大小(以 MB 为单位),这样您就可以为每个质量级别设置不同的配置。
您还可以使用VirtualTexturing.Streaming.SetGPUCacheSettings方法来设置脚本中的缓存大小。
您可以更改缓存大小,但这会导致资源密集型 CPU 和 GPU作,并阻塞主线程和渲染线程。更改缓存大小所需的时间长度取决于缓存的大小和数量。为避免明显的冻结或卡顿,您应该在帧速率不太重要的时候(例如加载关卡时)更改缓存大小。
影响给定缓存最佳大小的主要因素是输出屏幕分辨率,以及每个纹理堆栈中使用该图形格式的层数。中的材质数量场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表纹理的分辨率对最佳尺寸的影响不大。对于最高质量设置下的全高清屏幕分辨率,总 GPU 缓存大小通常为 700MB。
当缓存的大小太小而无法容纳其内容时,就会出现称为“缓存抖动”的问题,并且它必须在同一帧中加载和卸载图块。为了防止缓存抖动,虚拟纹理系统会根据需要自动降低纹理质量。它监控缓存使用情况,并自动管理纹理堆栈采样的 mipmap 偏差像素计算机图像中的最小单位。像素大小取决于您的屏幕分辨率。像素光照是在每个屏幕像素下计算的。更多信息
请参阅术语表 着色器在 GPU 上运行的程序。更多信息
请参阅术语表.如果缓存已满,则 mipmap 偏差会增加。这可确保虚拟纹理系统请求较低分辨率的图块,从而节省缓存中的空间,使其能够包含所有请求的图块。
如果您的纹理看起来模糊,请尝试增加缓存的大小。如果缓存已经足够大,可以以最高质量渲染帧,则进一步增加缓存大小意味着缓存可以在逐出图块之前保留更长时间的图块。这可以减少不必要的效果,例如移动或转动相机在场景中创建特定视点图像的组件。输出要么绘制到屏幕上,要么作为纹理捕获。更多信息
请参阅术语表,因为最近可见的磁贴更有可能仍位于缓存中。