性能和诊断中心的按配置文件优化

按配置优化 Visual C++ 插件的性能,并且诊断中心简化按配置优化开发人员的体验。还可以从该Visual Studio网站下载插件

按配置优化(PGO)帮您创建x86和x64本机应用程序,应用均优化了用户之间的交互。PGO 是多步骤的过程:您创建用于分析检测的应用程序,然后执行“培训”,即您通过常用用户交互方案运行所检测的应用程序。您保存保存捕获的分析数据,然后使用结果引导全程序优化重新生成 应用程序。尽管您可以在Visual Studio 或命令行中分别执行这些步骤。PGO 插件会集中并简化进程。PGO 插件设置所有必需的选项,指导您每个步骤,显示分析,然后使用结果配置版本优化每个函数的大小或速度。当您更改代码,PGO 插件还可以轻松地返回训练的 app、更新版本优化数据。

先决条件

您必须下载PGO插件并且在能在性能和诊断中心中使用前在Visual Studio中将其安装。

演练:使用 PGO插件 优化App

首先,您会在 Visual Studio 创建一个基本 Win32 桌面应用程序。如果您已经拥有一个 想要优化的本地app,则可以直接使用并跳过此步骤。

创建一个app

  1. 在菜单栏上,选择**“文件”“新建**、“项目”

  2. 在“新建项目”对话框的左窗格中,展开“已安装”、“模板”、“Visual C++”,然后选择“MFC”。

  3. 在中间窗格中,选择“MFC 应用程序”。

  4. 在“名称”框中为项目指定名称,例如 SamplePGOProject。选择**“确定”**按钮。

  5. 在“MFC应用程序向导”对话框的“概述”页上,选择“完成”按钮。

接下来,将 app 的生产配置设置为Release,为 PGO 版本和测试步骤做准备。

设置生成配置

  1. 在菜单栏上选择“生成”、“配置管理器”。

  2. 在“配置管理器”对话框中选择“活动解决方案配置”下拉按钮,选择“Release”。选择“关闭”按钮。

打开菜单标签上的性能和诊断中心,选择”分析“, ”性能和诊断“.这将打开具有项目类型可用的分析工具的诊断会话页。

性能和诊断中心内的 PGO

在”可用工具“中选择”按配置优化“复选框。选择“开始”按钮启动PGO插件。

PGO 简介页

”按配置优化“ 页描述了使用插件提高app性能的步骤。选择“开始”按钮。

PGO 检测页

在”检测“章节,您使用”训练初始化启动“选择是否把启动app阶段作为训练的一部分。如果未选中此选项,培训的数据在运行的检测应用程序不会记录,直到显式启用培训。

选择”检测“ 按钮,用一系列特定的编译器选项生成app。编译器在生成的代码中插入探测命令。在测试阶段这些命令记录分析数据。

PGO 检测生成页

当您的应用程序检测生成完成时,该应用程序自动启动。

生成过程中若存在错误或警告,请改正并选择”重新开始生成“来重新开始检测生成。

当app启动后,您可以使用”培训“ 部分的”开始培训“和”暂停培训“链接来控制什么时候分析信息将被记录。可以使用 ”关闭应用程序“和”启动应用程序“链接来停止或重新启动app。

PGO 培训页

在测试过程中,遍历您的用户方案获取 PGO 插件需要优化代码的分析信息。完成测试后,请关闭app或选择“停止应用程序”链接。选择“分析”按钮,启动分析步骤。

分析完成后,”分析 “部分会显示用户培训简短获取的分析信息的报告。可以使用该报表检测哪个函数被调用最多次以及哪个函数运行的时间最长。PGO 插件使用这些信息确定哪些函数需要优化速度,哪些函数需要优化大小。PGO 插件按配置生成优化以为培训期间所记录的用户方案创建最小最快的app。

PGO 分析页

如果培训捕捉到了希望的分析信息,您可以选择”保存更改“来保存项目的分析配置文件数据来优化以后的版本。放弃配置文件数据并且重新启动培训,选择”重做培训“。

配置文件数据文件保存在项目的 “PGO培训数据” 文件夹中。此数据将控制app编译器生成优化设置。

解决方案资源管理器中的 PGO 数据文件

在分析后,PGO 插件设置在项目的生成选项,以便使用配置文件数据在编译时有选择地优化您的应用程序。可以使用相同配置文件数据继续修改并生成您的应用程序。当该应用程序生成后,版本将输出报告有多少函数和指令使用配置文件数据进行了优化。

PGO 输出诊断

在开发过程中,如果进行了大量代码更改,您可能必须对您的app进行最佳优化。当版本报告显示使用配置文件数据低于 80 % 的功能或命令经过优化时,建议您重新培训您的应用程序。