Virtual Texturing Profiler 模块显示有关您应用程序中的 Streaming Virtual Texturing 的统计信息。如果场景中有大量高分辨率纹理,虚拟纹理会减少应用程序使用的 GPU 内存量以及应用程序中纹理的加载时间。
注意:要使用 Virtual Texturing Profiler 模块,必须在您的项目的 Player Settings 中启用 Virtual Texturing (Edit > Project Settings > Player > Other Settings)。
该图表显示有关应用程序运行时屏幕上的纹理图块的信息,以及纹理使用的内存量。当您选择 Virtual Texturing 模块时,Profiler 窗口的下方窗格会显示统计信息,例如虚拟纹理使用的缓存大小。
Virtual Texturing Profiler 模块的图表分为四个类别:
图表 | 描述 |
---|---|
Required Tiles | 在屏幕上可见的纹理图块的数量。这些是着色器尝试采样以渲染当前帧的图块。 |
Max Cache Mip Bias | 自动 Mipmap 偏差应用于具有相同纹理格式的所有纹理。如果此值不为零,则缓存无法容纳该格式的所有可见图块。Mip 偏差越高,纹理质量越低。 |
Max Cache Demand | 所有缓存此帧的 GPU 的最高缓存需求。 |
Missing Streaming Tiles | 当前在屏幕上可见但尚未加载到视频内存中的图块数量。应用程序会尽快从磁盘流式传输或从主内存复制这些图块。 |
Missing Disk Data | 应用程序需要从磁盘读取以满足当前帧的剩余数据(以字节为单位)。 |
当您单击 Virtual Texturing Profiler 模块时,窗口下半部分的详细信息窗格会进一步显示详细的统计信息。这些统计信息也可通过 ProfilerRecorder API 及 Profiler Module Editor 获得,因此您可以将它们添加到自定义性能分析器模块中。
详细信息窗格中的统计信息如下:
统计信息 | 描述 |
---|---|
Required Tiles | 在屏幕上可见的纹理图块的数量。这些是着色器尝试采样以渲染当前帧的图块。如果所有这些图块都加载到 GPU 缓存中,则 Unity 会根据当前缓存大小以最高纹理质量渲染帧。 除非场景被冻结,否则尚有一些图块未加载到 GPU 内存中。在这种情况下,虚拟纹理样本使用来自内存中较高 Mipmap 的较低质量样本,直到更高质量的样本到达内存。 缓存 Mipmap 偏差会影响所需图块的数量。如果所有缓存的 Mipmap 偏差不为零,则 Required Tiles(所需图块)的数量低于最佳纹理质量所需的数量。 |
Atlases | 虚拟纹理空间或图集的数量(最多 64 个)。Unity 将通过虚拟纹理流式传输的纹理作为图集发送到大型虚拟纹理空间中。此过程是自动和透明的。 |
Max Cache Mip Bias | 具有最高 Mip 偏差的 GPU 缓存的 Mip 偏差。如果不为零,则至少一个缓存不够大,无法容纳所有纹理图块以最佳纹理质量渲染当前帧。 |
Max Cache Demand | 所有缓存此帧的 GPU 的最高缓存需求,表示为 GPU 的百分比。具有最高需求的 GPU 缓存可能需要更大,以避免此缓存的 Mipmap 偏差。 如果 Max Cache Demand 统计数据百分比较低,则该缓存对于当前渲染分辨率和内容可能太大。这样做的主要缺点是您的应用程序使用的 GPU 内存超出其需求,但如果您的应用程序不受内存限制,这不是问题。 |
Total CPU Cache Size | Unity 从磁盘加载纹理图块后分配给存储的纹理图块的内存量。 |
Total GPU Cache Size | Virtual Texturing 模块在选定帧中分配的所有 GPU 缓存的大小。Unity 仅在渲染使用该纹理格式的纹理的材质时创建 GPU 缓存。 |
Missing Disk Data (Player builds only) |
应用程序需要从磁盘读取以满足当前帧的剩余数据(以字节为单位)。队列中可能有更多的磁盘读取请求是来自不再可见的前一帧中的请求。因此,这是在没有新图块可见的情况下从磁盘读取的最小数据量。应用程序读取的实际数据量可能更大。 |
Missing Streaming Tiles (Player builds only) |
当前在屏幕上可见但尚未加载到内存中的图块数量。这些图块会尽快从磁盘流式传输。例如,如果摄像机移动,这个数字可能会更高。如果场景和摄像机冻结并且看不到新的图块,它应该很快降到零。 |
Read From Disk (Player builds only) |
Unity 完成此帧的磁盘读取操作的字节数。 |
% Cache demands (Player builds only) |
每个图形格式使用的缓存需求量。注意:此统计信息在自定义性能分析器中不可用 |
Mipmap bias per format (Player builds only) |
每个图形格式使用的 Mipmap 偏差缓存量。注意:此统计信息在自定义性能分析器中不可用 |