技术开发 频道

Windows Phone 性能分析

  【IT168技术】Windows Phone Performance Analysis 工具是用来评估和改进 Windows Phone 应用程序性能的分析工具。Performance Analysis 工具作为 Windows Phone SDK 的一部分安装。它完全与 Visual Studio 集成,并且可以从“调试”菜单进行访问。本主题对 Performance Analysis 工具进行了概述,并且描述了它如何能够帮助您改进 Windows Phone 应用程序的性能。要安装包含 Performance Analysis 工具的 Windows Phone SDK,请参阅 安装 Windows Phone SDK(安装 Windows Phone SDK)。

  为何性能很重要?

  若您要成功创建用户喜欢的 Windows Phone 应用程序,则需要在性能问题上花费一些时间。即使您有着奇妙的应用程序想法,若应用程序过慢、无响应或定期崩溃,则用户也将停止其使用。有关 Windows Phone 性能的更多信息,请参阅 Windows Phone 应用程序中的性能注意事项(Windows Phone 应用程序的性能注意事项)。

  除创造出色的用户体验外,Windows Phone 应用程序还必须满足在“商城”中发布的某些性能要求。例如,认证要求会涉及到以下内容:

  应用程序的最大内存使用量

  应用程序启动时间

  应用程序响应速度

  您可以使用诸如 Marketplace Test Kit 等工具来识别问题,但 Performance Analysis 工具可帮助您确定应用程序中这些问题的根源。有关这些认证要求的完整列表和详细信息,请参阅 技术认证要求(技术认证要求)。有关 Marketplace Test Kit 的更多信息,请参阅Windows Phone 商城测试工具包

  Performance Analysis 工具是什么?

  Performance Analysis 工具允许您度量和分析应用程序的各个方面的性能。该工具允许您在单个分析会话中评估您应用程序的执行相关或内存使用方面的情况。每次您运行 Performance Analysis 工具时都会创建一个文件,其中包含了该会话中的性能信息。选定文件内容后,相关内容会显示在 Visual Studio 中,并且会在一系列性能图形和表(包含其他信息)中显示结果。由于 Windows Phone 应用程序必须满足某些性能要求,因此使用 Performance Analysis 工具是准备应用程序以向“商城”提交的重要步骤。

  下表包含了一些使用 Performance Analysis 工具可以轻松识别的问题:

  应用程序帧速率不一致

  CPU 使用量较高

  内存使用量较高

  垃圾回收器空间不足

  性能图形

  Performance Analysis 工具以图形格式显示六个性能区域。每个区域都是用颜色编码的,这样可以在图形中轻松进行识别。下图显示了一个示例图形。

Windows Phone 探查器的“Graphs”区域

  每个图形项都会显示以下信息:

  帧速率

  显示屏幕重绘数、每秒帧数和在时间线的该时间点完成的应用程序。此信息只能用于时间线的期间,应用程序在这些期间内以某种方式更新显示。Windows Phone 应用程序的平均值应为每秒 30 到 60 帧之间。

  CPU 使用量百分比

  显示应用程序运行时手机 CPU 的使用百分比。CPU 使用量在图形中以线程类型表示。下表列出了线程类型。

  线程图形中的颜色备注

  用户界面 (UI) 线程绿表示屏幕更新和触摸输入。您应尝试将 UI 线程的 CPU 使用量百分比限制在小于 50%。

  应用程序线程紫表示非 UI 的应用程序活动。此活动可以是构图线程或后台线程。

  系统线程灰表示非针对应用程序的活动。系统线程百分比值过大表示系统正忙于处理其他后台任务,并且将影响应用程序性能。

  空闲线程白表示可用的 CPU 百分比。空闲线程的百分比越高,应用程序的响应速度就会越快。

  内存使用量 MB

  显示应用程序正在使用的手机内存量(以 MB 为单位)。

  演示图板

  在时间线上显示 S 标记,指示发生演示图板事件。通常演示图板事件指示动画的起点。共有两种标记。

  红色标记指示占用大量 CPU 的演示图板。

  紫色标记指示未占用大量 CPU 的演示图板。

  图像加载

  在时间线上显示 I 标记,指示图像资产加载到手机内存的时间。

  GC 事件

  在时间线上显示 G 标记,指示垃圾收集发生的时间。这样可以提供运行时收回最近释放的内存空间的时间的相关详细信息。

  有关如何使用 Performance Analysis 工具和浏览图形详细信息的更多信息,请参阅如何使用 Windows Phone 性能分析捕获和分析性能数据

  详细性能分析

  当您选择一部分性能图形时,将出现详细的性能分析部分。该部分提供了“性能警告”菜单,从而可以进一步调查性能问题,并且通过表格显示选定时间段内的性能详细信息。下图显示了选定图形的一部分和详细性能分析部分中的结果显示。

Windows Phone 探查器,带有突出显示的时间线

  “观测摘要”列包含扩展“性能警告”菜单的菜单选项(以调查性能问题的详细信息)所需的信息和步骤。下图显示一个已扩展“性能警告”菜单的示例。

Windows Phone 探查器的“Breadcrumb”菜单

  关键性能分析术语

  以下是您应在使用 Performance Analysis 工具时熟练掌握的关键性能术语列表。

  性能警告

  可能性能问题的通知。在详细性能分析部分中显示警告。

  采样

  通过测量应用程序执行采样任务和代码路径所需的时间,来向您显示应用程序中执行大多数用户模式作业的功能的统计分析方法。

  帧速率

  在时间线的某时间点呈现的屏幕更新数,单位为帧/秒。

  CPU 使用量

  在时间线的某时间点使用的可用手机 CPU 容量百分比。此信息按图形显示中的线程进行细分,并且可以在详细性能分析部分按方法名称进行细分。

  内存使用量

  应用程序在时间线的某时间点使用的手机内存的专用工作集。

  非独占示例

  执行所指示(目标)方法期间收集的总示例数(百分比)。这些示例包括直接执行方法代码期间收集的示例和在执行目标方法调用的子方法时收集的示例。

  独占示例

  直接执行所指示(目标)方法的指令期间收集的总示例数(百分比)。独占示例不包含执行目标方法调用的功能期间收集的示例。

  填充速率

  在时间线的某时间点屏幕上的总像素数。

  纹理计数

  在时间线的某时间点加载到手机内存的总纹理数。

  已更新

  选定时间期间内的时间量,在该时间内指定的可视化元素已过时(等待呈现更新)。

  总绘制时间(独占)

  呈现所指定可视化元素所需的总时间量(以毫秒为单位)。该度量值不包含呈现作为可视化元素层次结构(树)中所指示元素的子元素的任何元素所需的时间。

  总绘制时间(非独占)

  呈现所指定可视化元素所需的总时间量(以毫秒为单位)。该度量值包含呈现作为可视化元素层次结构(树)中所指示元素的子元素的任何元素所需的时间。

  度量时间(独占)

  定位所指示可视化元素并调整其大小所需的总时间量(以毫秒为单位)。该度量值不包含呈现作为可视化元素层次结构(树)中所指示元素的子元素的任何元素大小所需的时间。

  度量时间(非独占)

  调整所指示可视化元素的大小所需的总时间量(以毫秒为单位)。该度量值包含呈现作为可视化元素层次结构(树)中所指示元素的子元素的任何元素大小所需的时间。

  排列时间

  定位所指示可视化元素所需的总时间量(以毫秒为单位)。

  度量计数

  在选定的持续时间内调整所指示可视化元素的大小所需的迭代次数。

  排列计数

  在选定的持续时间内定位所指示可视化元素的所需的迭代次数。

  纹理更新计数

  在选定的持续时间内更新的纹理数。

0
相关文章