关于 GPUView
GPUView (GPUView.exe) 是一个性能分析工具,可帮助开发人员分析 Windows 系统上的 GPU 和 CPU 活动。 它可用于诊断图形密集型应用程序(如游戏或多媒体软件)中的性能问题。
- 视频核心开发人员可以使用 GPUView 来确定 GPU 和 CPU 在 DMA 缓冲区处理以及视频硬件上所有其他视频处理方面的性能。
- 开发人员和测试人员可以使用 GPUView 显示可能导致异常情况的不同类型的事件,例如故障、准备延迟和同步不佳。
GPUView 可以从事件跟踪日志 (.etl) 文件中读取记录的视频和内核事件,并以图形方式向用户显示数据。
使用 GPUView 的快速入门
若要使用 GPUView,首先需要生成跟踪。 为此,请执行以下操作:
使用管理员权限打开命令提示符:
- 在“开始”菜单搜索框中键入“命令提示符”。
- 右键单击命令提示符图标,然后选择以管理员身份运行。
在命令提示下,导航到 GPUView 目录并键入以下命令:
Log.cmd
重现问题(不超过 30 秒至 1 分钟)。 然后重新键入相同的命令:
Log.cmd
此命令生成多个 Windows 事件跟踪 (*.ETL) 文件。 这些不同的流都被合并到一个名为 Merged.etl 的单个文件中,这就是 GPUView 读取的内容。
使用 GPUView 查看生成的 Merged.ETL 文件。
记录事件的一些示例包括:
- 所有 CPU 上下文切换,包括堆栈跟踪和切换原因。
- 所有内核模式进入和退出以及堆栈跟踪。
- DirectX 图形内核记录的所有 GPU 事件,包括所有命令缓冲区提交以及资源创建、销毁、锁定和绑定事件。
- 图形驱动程序报告的事件,例如命令缓冲区开始和结束时间,以及每个适配器的垂直同步间隔。
- 许多其他可能影响性能的系统事件,例如页面错误。
还可以使用 XPerf 读取 ETL 文件;但是,它不理解任何特定于 GPU 的事件。 由于这些日志文件可能相对较大,因此可以改用 Log m
命令,这会跳过许多高频率事件。
可以在 Matthew Fisher 的网站 Matt's Webcorner 上找到更多信息,在那里他谈论了创建 GPUView。