嗨SO :)我正在使用Flashpunk使用Flex和FlashDevelop制作游戏(强烈推荐,令人惊叹的lib和IDE)。
由于系统之间的性能变化很大,我想找到减速发生的位置并且只修复这些位。 Flashdevelop有一个名为Profiler的内置工具,但它只显示对象的数量和它们使用的内存,而不是执行时间。 Grant Skinner编写了一个名为PerformanceTest的强大工具,但它似乎适合编写非常具体的优化比较,而不是自动分析代码。
我想要找到的是一个工具,它会在程序运行时自动分析程序,并告诉我哪些函数执行时间最长。我听说CS5内置了这个,但我想知道是否有其他选择。
非常感谢你的帮助!
答案 0 :(得分:1)
你想看一下项目Monocle [1] [2] [3]。它可用于公共beta测试,但有限制。
[1] http://www.bytearray.org/?p=4858
[2] http://inflagrantedelicto.memoryspiral.com/2012/10/using-advanced-telemetry-with-monocle/
[3] https://prerelease.adobe.com/callout/?callid=59A4F95D908A4D2FB9F302729FD0D87F
答案 1 :(得分:0)
那么,基本上你想要一个能够自动测试所有执行时间函数的工具吗?是的,你不会找到那个。
您需要使用Grant提供给您的'PerformanceTest'工具中提到的测试。您还需要手动编写测试,因为没有足够智能的工具(缺少Watson AI)可以为您编写测试用例。它被称为单元测试,它是在功能到功能的基础上进行性能测试的唯一方法。任何大型项目都应该进行某种形式的测试。
答案 2 :(得分:0)
如果使用“性能分析”模式,FDT Profiler会显示方法的执行时间。也许Flexbuilder探查器有类似的功能,但我不确定。有关FDT Profiler结帐this video的详细信息。
答案 3 :(得分:0)
主要有两种类型的分析器:Memory Profilers和Performance Profilers。听起来您过去曾使用过Memory Profiler,但您所描述的内容称为Performance Profiler。
FlashBuilder Professional(非标准版)包含Performance Profiler。我已经多次使用它并获得了很多成功。 @Mike Dunlavey的方法很好,如果你没有工具,但我发现使用Performance Profiler提供的指标非常物有所值,无论我正在开发什么堆栈(不仅仅是Flash平台)。
乙
答案 4 :(得分:0)
Flash Builder内置内存和性能分析器,听起来或多或少与您想要的一样。
如果您只想要一个完整的配置文件,请在分析模式下启动该程序,执行所有标准任务,然后捕获性能配置文件。如果要分析特定任务是在执行要执行的操作之前重置数据,请执行操作,然后获取配置文件。
不幸的是,它需要Flash Builder Premium版,但至少你可以在购买前试用它。
如果您只对分析器感兴趣,我认为支付整个IDE非常烦人。