地址:http://www.gskinner.com/blog/archives/2009/05/idle_cpu_usage.html
作者非常喜欢AIR,并且认为AIR是一个非常好的平台,但AIR有个缺陷,也为它带来了不好的名声,就是它并没有在CPU的使用效率上做出改善。
在 MAC系统上做这样的尝试:打开Flash CS4,新建一个空的FLA文件,并且将它发布成AIR应用。安装并运行它,然后打开性能管理器,在我的新的MacBook Pro电脑上,这个空的AIR应用使用了接近4%的CPU,而且,它只是在后台运行,没有做任何操作。
看看现在主流的比较受欢迎的AIR应用:比如Twitter应用,新闻应用,通知应用,以及综合应用。打开其中的一些应用,你 可能需要花费大部分的CPU在它们身上,而且这是在它们没有任何操作的情况下。作者通常会同时打开10-20个应用,如果这些应用都是AIR就是制作的, 那么可能将会占用你一半的CPU。
理想情况下,一个应用在空闲状态下CPU的使用率应该是0%,可接受的值是小于1%。AIR必须在跨平台的特性中解决这一个问题。
这个问题目前不影响Windows。作者并没有在Linux中测试。
值 得注意的是,这个问题并不仅限于AIR,它似乎是播放器自身的问题。让我们尝试相同的测试,在播放器或浏览器中运行一个空的SWF文件,你会发现相同的 CUP占用率。作者认为这也是为什么Flash CS4在Mac上占用如此之多的CPU的原因-至少有两个Flash Player的实例在运行,一个是核心,一个是面板。
作者联系了Adobe的开发团队,他们承认这一问题并积极努力解决这个问题。作者写这篇文章的初衷是:
- 希望人们认识到这个问题,并通过这种认识促进Adobe积极解决这个问题,如果您觉得这个问题非常重要,请帮助传播它,并将它登记到Adobe的缺陷任务管理系统。
- 这个问题可以解释给客户,让他们也对这个问题有清醒的认识。
- 作者建立了一个简单的类,他会在您的应用处于后台运行时,暂时降低它的帧速,并在它恢复时,恢复它的帧速。减少帧速是作者发现的目前最有效的提高性能的解决方案。这个类使用也很简单:
FramerateThrottler.initialize(2);
FramerateThrottler.enabled = false;
FramerateThrottler.onlyThrottleOnMac = true;
你可以从这里下载这个类:http://www.gskinner.com/blog/assets/FramerateThrottler.zip
|
转自:http://hi.baidu.com/xukunwzq/blog/item/2cf75b085d4af9a32eddd4c6.html
分享到:
相关推荐
Flash、Flex和AIR是Adobe公司推出的RIA(富互联网应用)开发平台的重要组成部分。它们广泛应用于开发网络应用程序和桌面应用程序。在这些平台上开发应用时,内存管理是保证程序稳定运行的重要方面。内存监测及优化...
### 使用Adobe Flex开发AIR应用程序的关键知识点 #### 一、Adobe Integrated Runtime (AIR) 概述 **Adobe Integrated Runtime (AIR)** 是一个由Adobe系统开发的跨平台运行环境,允许开发者利用HTML、JavaScript、...
2. **ActionScript**:ActionScript是基于ECMAScript的脚本语言,特别针对Flash Player和Adobe AIR运行时环境进行了优化。它支持类、接口、包和高级编程特性,如事件驱动编程,使得开发者能创建复杂的游戏逻辑。在...
最终,这些应用被编译为SWF格式,在用户的浏览器中通过Flash Player运行,由于Flash Player的普及率极高,使得Flex应用具有广泛的兼容性。 AIR技术则是将Flex技术进一步扩展到桌面环境,使得基于Web的应用程序可以...
Flex是Adobe Flash Platform的重要组成部分之一,该平台还包括了Adobe Flash Player和Adobe AIR。Adobe Flash Platform旨在为开发者提供一套完整的解决方案,用于创建跨浏览器、跨平台的应用程序和游戏。Flex作为该...
Flex 应用运行在 Flash Player 或 AIR 上,其中 Flash Player 是最常见的情况,因为它的普及率非常高。 Flex 与 Flash 的关系在于,Flash 原本主要用于动画制作,而 Flex 为程序员提供了更适合编程的环境,使用 ...
Flex是Adobe公司开发的一个开源框架,用于构建富互联网应用程序(RIA),它基于ActionScript和MXML,通常与Flash Player或Adobe AIR一起使用。Debug版本是专为开发者设计的,提供了更多的调试功能,帮助开发者定位和...
Flex 是一个高效、免费的开源框架,可用于构建具有表现力的 Web应用程序,这些应用程序利用Adobe Flash Player和Adobe AIR, 运行时跨浏览器、桌面和操作系统实现一致的部署。虽然只能使用 Flex 框架构建 Flex应用...
Flex 3.0的编译器能够将MXML和ActionScript代码编译成SWF(Small Web Format)文件,这些文件最终可由Adobe Flash Player在浏览器中播放,或者通过Adobe AIR在桌面环境中运行。 代码库是学习和掌握Flex 3.0不可或缺...
此外,Flash Player 10.1还大幅减少了视频播放时CPU的使用率,从而提升了整体性能。 #### 三、Adobe AIR – 跨平台的独立应用程序 Adobe AIR(Adobe Integrated Runtime)是另一个重要的客户端运行时环境,它允许...
总结起来,“百度移动广告联盟Flash Air SDK”为Flex、Flash和AS3开发者提供了一条便捷的途径,使他们能够在移动设备上展示广告并从中受益。通过充分利用这一工具,开发者不仅可以提高开发效率,还能在不影响用户...
此外,文档还会指导如何使用客户端MVC框架,利用AIR技术开发应用,以及如何美化Flex界面和进行性能优化。 RIA的背景是为了解决传统C/S和B/S架构在软件开发中存在的问题。C/S架构成本较高,而B/S架构则需开发多个...
3. Flex SDK:包含了编译Flex应用所需的工具和库,如Flex Compiler、Flash Player或Adobe AIR运行时等。了解如何安装和使用SDK是开始Flex开发的第一步。 二、Flex构建流程 1. 设计阶段:使用Flex Builder(现为...
Flex SDK包含了编译器、IDE集成、组件库和运行时环境,如Flash Player或Adobe AIR。 2. **ActionScript**:Flex的主要编程语言是ActionScript,这是一种基于ECMAScript的脚本语言。ActionScript3.0是Flex中最常用的...
4. **Flash Player**: 文件名`flashplayer_10_ax_debug.exe`指的是Adobe Flash Player的调试版本,版本号为10,ActiveX控件形式,用于在Windows系统中运行Flex开发的SWF文件。调试版允许开发者在运行时查看错误和...
Flex是一个开放源代码的框架,用于构建富互联网应用程序(RIA),基于Adobe Flash Player或Adobe AIR运行时。开发者可以使用Flex SDK中的MXML和ActionScript语言创建交互式的用户界面,这些界面可以在多种浏览器和...
2. **Stage3D**:虽然Flex本身不直接支持Stage3D,但可以通过ActionScript访问Flash Player或Adobe AIR的Stage3D API。Stage3D是Flash Player的一个底层图形渲染接口,可以进行高性能的3D图形处理,为实现翻书的立体...
Adobe AIR是一个跨平台的运行环境,允许开发人员使用Flash、Flex、HTML或ActionScript技术创建桌面应用程序。Flash参考播放器就是在这样的背景下诞生的,它提供了基础的FLV(Flash Video)文件播放功能,帮助开发者...
它基于Adobe Flash Player和Adobe AIR运行时环境,使得开发者能够轻松创建出高质量、跨平台的RIA。Flex不仅支持桌面应用开发,还可以用于移动设备的应用程序创建。 #### Flex基础知识 - **Flex SDK**:Flex软件...