基准测试

有许多工具可用于基准测试应用程序。您可以使用由 Flash 社区成员开发的 Stats 类和 PerformanceTest 类。还可以使用 Adobe® Flash® Builder™ 中的探查器和 FlexPMD 工具。

Stats 类

要在运行时使用运行时的发行版(而不是外部工具)设置您的代码,您可以使用由 Flash 社区中的 doob 先生开发的 Stats 类。您可以在此网址下载 Stats 类: https://github.com/mrdoob/Hi-ReS-Stats

Stats 类允许您跟踪下列内容:
  • 每秒呈现的帧数(数字越高越好)。

  • 呈现帧使用的毫秒数(数字越低越好)。

  • 代码占用的内存量。如果代码在各个帧上占用的内存量增加,则您的应用程序可能存在内存泄露。调查可能存在的内存泄漏非常重要。

  • 应用程序占用的最大内存量。

下载完成后,Stats 类可用于以下压缩代码:

import net.hires.debug.*; 
addChild( new Stats() );

通过在 Adobe® Flash® Professional 或 Flash Builder 中使用条件编译,您可以启用 Stats 对象:

CONFIG::DEBUG 
{ 
    import net.hires.debug.*; 
    addChild( new Stats() ); 
}

通过切换 DEBUG 常量的值,您可以启用或禁用 Stats 对象的编译。可以使用这种方法替换您不想在应用程序中编译的任何代码逻辑。

PerformanceTest 类

为了设置 ActionScript 代码执行,Grant Skinner 开发了一种可集成到单元测试工作流程中的工具。将自定义类传递给 PerformanceTest 类,这将对您的代码执行一系列测试。通过 PerformanceTest 类,您可以轻松地为不同的方法设置基准。可在以下地址下载 PerformanceTest 类: http://www.gskinner.com/blog/archives/2009/04/as3_performance.html

Flash Builder 探查器

Flash Builder 附带一个探查器,该探查器允许您使用高级详细信息为代码设置基准。

注: 使用调试版 Flash Player 访问该探查器,否则将出现错误消息。

概要分析器还可用于 Adobe Flash Professional 中生成的内容。要执行该操作,请将编译的 SWF 文件从 ActionScript 或 Flex 项目加载到 Flash Builder,然后可对其运行该探查器。有关概要分析器的详细信息,请参阅 使用 Flash Builder 4 中的“概要分析 Flex 应用程序”。

FlexPMD

Adobe Technical Services 发布了一款称为 FlexPMD 的工具,该工具允许您审核 ActionScript 3.0 代码的品质。FlexPMD 是一种 ActionScript 工具,类似于 JavaPMD。FlexPMD 通过审核 ActionScript 3.0 或 Flex 源目录来提高代码品质。它可以检测出品质欠佳的代码编写方法,例如未使用的代码、过度复杂的代码、过长的代码和使用不正确的 Flex 组件生命周期。

FlexPMD 是一个 Adobe 开放源项目,可在以下地址获得: http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD 。Eclipse 插件也可以在以下地址获得: http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD+Eclipse+plugin

FlexPMD 简化了审核代码的过程,而且更容易确保代码清晰且已经过优化。FlexPMD 的实际功能在于其可扩展性。作为开发人员,您可以创建自己的规则集来审核任何代码。例如,您可以创建一组规则,用于检测大量使用的滤镜或任何其他您想要捕捉的品质欠佳的代码编写方法。