GPU Reshape
GPU Reshape 是一款强大的工具,它利用 GPU 操作的即时插桩功能,并对潜在未定义行为进行指令级验证。
Radeon™ Memory Visualizer 的最新版本现已提供下载!
此次发布中最受期待的功能之一是对“资源概述”窗格中别名资源的支持进行了改进。其他值得注意的增强功能包括支持加载 Radeon GPU Detective 崩溃转储、设备配置窗格中的系统内存信息以及用于时间单位的小时模式。此外,命名资源和隐式缓冲区过滤的处理也更加可靠。
“资源概述”窗格为用户提供了一个图表,其中包含代表绑定到虚拟内存分配的资源的彩色块。块的大小指示资源相对于其他资源和虚拟分配使用了多少内存。有多种模式可用于为块着色(通过“按...着色”下拉列表框)。还可以使用“资源使用情况”下拉列表框从图表中筛选资源类型。
别名资源是游戏开发者可以利用的一种图形 API 技术,以减少内存消耗并提高性能。多个资源可以完全或部分占用虚拟分配的同一区域。换句话说,这些资源可以共享同一内存。由于内存是共享的,因此需要更少的存储空间。一次只能使用一个资源,但别名资源只需要一个虚拟分配。然而,别名资源的优势是有代价的。内存必须由开发者管理,并且理解共享资源的总体大小可能很困难。在 v1.7 RMV 版本发布之前,“资源概述”窗格中的资源块大小是独立于其他别名资源计算的。这可能会导致误导性的结果。在“资源概述”窗格中显示的别名资源的组合大小可能会超过资源所绑定的虚拟分配的大小。
从 v1.7 开始,RMV 采用了一种不同的方法来计算“资源概述”窗格上的别名资源大小。首先,绑定到与其他资源重叠的内存区域的资源将根据使用类型按以下顺序排序:事件、着色器管道、描述符、命令缓冲区、内部、渲染目标、纹理、UAV、光线追踪、索引缓冲区、顶点缓冲区、多用途缓冲区和堆。优先级从右到左对应“资源概述”窗格上的资源使用颜色图例。如果相同使用类型的两个或多个资源重叠,则会按大小进行比较。最小的尺寸具有优先权。如果尺寸也匹配,则内存跟踪中最先创建的资源具有优先权。当别名资源部分重叠时,具有重叠资源的虚拟分配区域会被分割成若干部分,并且这些部分的大小根据上述资源别名优先级归因于资源内存的部分。与过去版本一样,内存块带有点状图案,表示它们是别名的。将鼠标悬停在内存块上将显示资源的实际大小以及别名大小(如果资源与其他资源重叠)。如果启用了“资源详细信息”切换,将显示所选资源的实际大小和别名大小。
下面的“分配概述”窗格的屏幕截图说明了别名资源的一个示例。一个多用途缓冲区跨越了 128 MB 虚拟分配内存区域的全部空间。一个渲染目标资源占据了从虚拟分配开始约 4 MB 的空间。一个 4 MB 的纹理与渲染目标有轻微的偏移重叠。另请注意,资源条是带有点状图案绘制的,以表示它们是别名的。

在“资源概述”窗格(如下所示)上查看时,可以看到一个代表多用途缓冲区的较大块,以及较小的纹理和渲染目标资源块。将鼠标悬停在多用途缓冲区上会显示工具提示,其中显示实际使用的内存为 128 MB,别名内存为 123 MB。5 MB 的差值应用于纹理和渲染目标资源,因为在计算虚拟分配的别名内存使用情况时,这些资源具有更高的优先级。在“资源概述”窗格中选择了纹理资源,并显示了该资源的详细信息。纹理资源的实际大小为 4 MB,别名大小约为 1 MB。由于纹理与优先级更高的渲染目标资源部分重叠,因此只有别名内存的较小部分与纹理相关联。

为了支持最近推出的 Radeon GPU Detective,RMV 现在允许加载 RGD 崩溃转储文件,并在 UI 中查看内存相关数据。Radeon GPU Detective 是一款新的 AMD 工具,可以帮助追踪 GPU 崩溃的原因。RMV 只能以只读模式打开 RGD 文件(即,不会保存创建的快照)。为了在“文件打开”对话框中看到 .rgd 文件名,请确保在文件过滤器下拉列表框中选择“RGD 崩溃转储文件 (*.rgd)”。

与 RMV 文件一样,RGD 文件可以从文件资源管理器中拖放到 RMV UI 中进行打开。RGD 文件会加载 RMV 文件所加载的所有相同类型的数据(例如,在进程整个生命周期中创建和销毁的分配和资源)。为了分析有关崩溃和与有问题的虚拟地址相关的特定内存资源的信息,需要使用 rgd.exe 命令行工具打开 RGD 崩溃转储文件。Radeon GPU Detective 文档和软件可以在此处下载。
RMV 的“设备配置”窗格现在包含系统内存类型(例如 DDR4)。

对于跨越长时间的内存跟踪,用户现在可以利用新的“小时”时间单位模式。在此模式下,时间戳格式为“H:MM:SS.clk_cycles”。可以通过“常规设置”窗格或使用 Ctrl+T 快捷键组合来选择各种时间戳格式。按 Ctrl+T 将反复循环显示不同的时间戳格式。
通过改进的“资源概述”窗格,掌握别名资源内存使用情况,并利用最新 Radeon Memory Visualizer 版本中包含的所有更改。
您可以在我们的产品页面上找到有关 RMV 的更多信息,包括 GitHub 上的发行版二进制文件链接和完整发行说明列表。您的反馈对我们来说非常宝贵,并有助于推动 RMV 的路线图向前发展,因此如果您想要某项功能并且它具有意义,请告诉我们!