英特尔® 图形性能分析器 (GPA) 平台分析器助力 CPU 密集型离线分析

下载 [PDF 1.26 MB]

英特尔® 图形性能分析器(英特尔® GPA) 平台分析器能够在一定时间内使用您的代码显示 CPU 和 GPU.上不同任务的执行情况。 这样可帮助您了解游戏中基于任务的问题,进而优化 CPU 和 GPU 中的计算和渲染任务。 英特尔 GPA 平台分析器利用应用运行过程中收集到的轨迹数据,为您提供代码在所有线程上的执行情况,并关联 CPU 与 GPU 上的工作负载。

之前我们介绍了如何使用面向 DirectX 的英特尔 GPA 帧分析器*进行分析。 本文将逐步介绍如何进行 CPU 密集型离线工作流分析。

使用英特尔® 图形性能分析器平台分析器分析轨迹捕获

点击 Analyze Application,如下所示。 该特性支持您浏览二进制转换成希望分析并运行的游戏。 英特尔 GPA monitor 将代码注入游戏之中以提取分析数据。

Analyze application window

1. 分析应用窗口

如果您的应用属于 CPU 密集型应用,请捕获一个轨迹,以便在英特尔 GPA 平台分析器中打开,并对该应用进行分析。 如果属于 GPU 密集型应用,请捕获一个帧。 如果使用英特尔 GPA 系统分析器,请点击摄像头按钮以捕获帧,或点击红色按钮以捕获轨迹。 如果使用 HUD 快捷键,默认 Ctrl+Shift+C 为捕获帧的热键,而 Ctrl+Shift+T 为捕获轨迹的热键。

我们将捕获轨迹以使用英特尔 GPA 平台分析器进行分析,如下所示。

Intel GPA System Analyzer

2. 英特尔® GPA 系统分析器

打开英特尔 GPA 系统分析器。 左侧为轨迹列表。 双击捕获的最新轨迹。 轨迹打开后,您会看到几个不同的窗口(如下所示)。

 opening the trace

3. 英特尔 GPA 平台分析器:打开轨迹

轨迹加载后,主窗口显示相关时间数据的时间线。

  • 窗口底部显示捕获轨迹时启用并记录的所有指标。

  • 屏幕中间显示捕获轨迹时正在运行的所有线程。

  • 顶部显示 GPU 帧分隔符和 CPU 帧分隔符,以及所出现的任务。

我们来重点看一下 CPU 离线分析。 请注意,轨迹的持续时间大约为 5 秒。 这一数字可在图形监控器的分析部分更改。

我们将屏幕放大,看看轨迹的细微部分。 点击并拖动(使用鼠标左侧的按钮,然后释放)将这部分放大。 放大后可以获得三个帧,相关数据如下所示。

Zooming and selecting the frames

4. 放大并选择帧

Intel GPA Platform Analyzer

5. 英特尔 GPA 平台分析器

放大三个帧后,我们来看看具体的栏。

帧栏

在帧栏中,您可以查看单独的 GPU 和 CPU 帧计时。 请注意,颜色表示相同的 CPU 和 GPU 帧之间相互关联。 例如,CPU 112 帧的颜色与 GPU 112 帧相同。

 GPU frame

6. 英特尔 GPA 平台分析器: GPU 帧

 CPU frame

7. 英特尔 GPA 平台分析器: CPU 帧

我们可以查看单独的持续时间,也可以计算 CPU 帧启动与 GPU 帧启动时的区别。

渲染和 GPGPU 栏

虚线以上的都在 GPU 上执行。 红色交叉线框区域(如下所示)表示当前的调用。 您可以追踪当前某个调用何时产生、何时执行。 您将看到当前调用何时执行,以及 GPU 帧何时结束,这样有助于计算单帧的延迟。 您可以查看 CPU 何时提交当前调用,以及 GPU 何时完成该调用。

 Render and GPGPU column

8. 英特尔 GPA 平台分析器: 渲染和 GPGPU 栏

线程面板

您可以查看线程何时运行,何时需要操作系统切换环境,以及同步化何时进行。 此外,您还可以查看线程上叠加的 GPU 工作,当 GPU 或 CPU 繁忙时谁来帮助建立相关性,并识别工作负载是 CPU 密集型还是 GPU 密集型。 你可以查看各个 DirectX API 调用以及用户定义的调用是否可用。

 Threads column

9. 英特尔平台分析器: 线程栏

平台指标

此处显示的指标是我们在 HUD 分析文件中设定的指标。 如果轨迹由英特尔 GPA 系统分析器提取,指标则为当时英特尔 GPA 系统分析器中的指标。

 Platform metrics column

10. 英特尔 GPA 平台分析器: 平台指标栏

统计面板

该面板与您的选择同步更新。 根据您的选择,该面板可显示 GPU 利用率、OpenCL™ 内核,或用户定义的函数或 DirectX 调用等任务。 该面板还可识别轨迹中部分区域的热点。 例如,如果突出显示某部分,统计面板将会有所变化,如下所示。 您可以查看指定区域的任务时间、GPU 时间和 GPU 队列时间。

 Statistics column

11. 英特尔 GPA 平台分析器: 统计栏

Selecting an area and the statistics pane changes

12. 选择区域和统计面板变化

图例区域

您可以关掉几部分,以降低 UI 的复杂程度。 该部分可以通过清空复选框删除。

 Legend pane

13. 英特尔 GPA 平台分析器: 图例面板

Intel GPA Platform Analyzer after unchecking Platform metrics from the legend pane

14. 图例面板中的 Platform metrics 取消选中后的英特尔 GPA 平台分析器

关于作者

Praveen Kundurthy 任职于英特尔® 软件和服务事业部。 他拥有计算机工程硕士学位。 他主要专注于移动技术、Microsoft Windows* 和游戏开发领域。

英特尔技术的特性和优势取决于系统配置,并需要兼容的硬件、软件或需要激活服务。 实际性能会因您使用的具体系统配置的不同而有所差异。 请联系您的系统制造商或零售商,或访问 intel.com 了解更多信息。

本文档不代表英特尔公司或其它机构向任何人明确或隐含地授予任何知识产权。

英特尔明确拒绝所有明确或隐含的担保,包括但不限于对于适销性、特定用途适用性和不侵犯任何权利的隐含担保,以及任何对于履约习惯、交易习惯或贸易惯例的担保。

本文包含尚处于开发阶段的产品、服务和/或流程的信息。 此处提供的所有信息可随时更改,恕不另行通知。 联系您的英特尔代表,了解最新的预测、时间表、规格和路线图。

本文所述的产品和服务可能包含与宣称的规格不符的缺陷或失误。 英特尔提供最新的勘误表备索。

如欲获取本文提及的带订购编号的文档副本,可致电 1-800-548-4725,或访问 www.intel.com/design/literature.htm。

英特尔和 Intel 标识是英特尔在美国和/或其他国家的商标。

*其他的名称和品牌可能是其他所有者的资产。

英特尔公司 © 2015 年版权所有。


OpenCL 和 OpenCL 标识是苹果公司的商标,需获得 Khronos 的许可方能使用。

有关编译器优化的更完整信息,请参阅优化通知