Apache flex Flex应用的高CPU利用率
我有一个Flex应用程序。令人惊讶的是,它使我的CPU负载保持在50%左右,在笔记本电脑上运行时,它的负载在40%到60%之间波动。这款笔记本电脑是一款4年前的戴尔型号,CPU为英特尔T1350@1.86GH。奇怪的是,应用程序将我的CPU保持在50%,即使它什么都不做。这是一个静态的,相当复杂的柔性屏幕。我没有运行效果,没有服务器通信,没有动画。当然,它有效果和类似的动态行为,但在这个测试中,我不碰它。我只是加载它,它保持静态,但CPU仍然是50%。 当然,我分析了应用程序,但它没有给我很多有用的信息。我甚至在浏览器被另一个窗口隐藏时分析了应用程序,但CPU仍然很高,大部分时间都花在这三个项目上:Timer.tick-54.5%,[enterFrameEvent]-21.5%和[reap]-12.5%。所有这些都是自时间,即不在这三种方法中调用的其他方法中 任何可能导致如此高CPU利用率的想法都是非常受欢迎的。 ... 或如何确定根本原因的方法 其他信息: 当同一个应用程序在我的开发机器CPU Intel Core 2 Quad Q6600@2.4 GH上运行时,利用率当然会下降到16%,因为CPU的速度快了好几倍,但对于静态屏幕和这个快速的CPU来说还是太多了。另外,如果我用IE运行它,上面的所有数字都是FF,那么CPU利用率将接近0%。我猜ActiveX flash player版本通过将工作委托给GPU(我的视频卡)来减轻CPU的负担,但这仅与场景IE+良好视频卡有关,这不是我可以为大多数用户做出的假设 我还注意到,将FPS提高到60以上的数字是默认的24 FPS,这并不会真正改变CPU负载。将FPS降低到12会降低CPU负载,但不是成比例的,这不是处理此问题的方法 我倾向于认为问题与我的UI层次结构有关。对于flash播放器来说,它可能太复杂和/或太嵌套了,但是为什么当屏幕完全静止时需要CPU时间呢 需要帮助 谢谢 一些想法 尽可能避免嵌套,深层UI层次结构将导致渲染速度减慢 仅将需要绘制的元素添加到舞台,场景外的元素也会减慢渲染速度。 如果您确实有很多小部件,则可能不需要呈现/初始化所有小部件。Apache flex Flex应用的高CPU利用率,apache-flex,flash,Apache Flex,Flash,我有一个Flex应用程序。令人惊讶的是,它使我的CPU负载保持在50%左右,在笔记本电脑上运行时,它的负载在40%到60%之间波动。这款笔记本电脑是一款4年前的戴尔型号,CPU为英特尔T1350@1.86GH。奇怪的是,应用程序将我的CPU保持在50%,即使它什么都不做。这是一个静态的,相当复杂的柔性屏幕。我没有运行效果,没有服务器通信,没有动画。当然,它有效果和类似的动态行为,但在这个测试中,我不碰它。我只是加载它,它保持静态,但CPU仍然是50%。 当然,我分析了应用程序,但它没有给我很多有
但是,我不明白为什么上面的1或3与FPS有关。你在画什么?我浏览了一下你的问题,发现你提到了Timer类。如果您在应用程序运行的整个过程中都在使用计时器,那么这很酷 但是,很有可能您没有在计时器上移除EventListener,并且作为以防万一,在使用完计时器后没有将其设置为null。根据您使用计时器对象的方式,您还可以重复循环和创建新的计时器实例。再加上没有调用removeEventListener,大量计时器实例可能永远不会被垃圾收集 我发现了一个潜在的问题。 祝你好运