Flex分析 – 什么是[enterFrameEvent]在做什么?
我已经被授权发现(并可能修复)一些提交给我们的Flex应用程序的严重性能问题.这个应用程序在CPU空闲时一直占用CPU的50%到100%,而不应该做任何事情.
我的第一步是运行FlexBuilder附带的分析器.我预计会找到一些占用大部分时间的方法,告诉我瓶颈在哪里.但是,我有一些意想不到的事情. 前四种方法是: > [enterFrameEvent] – 累积84%,自我时间32% 所有其他方法对于累积和自身时间都不到1%. 从我在网上找到的,[括号中的方法]是当它没有实际的Flex方法来显示时,分析器列出的是什么.我看到有人声称[tincan]是RTMP请求的处理,我认为[收获]是垃圾收集器. 有没有人知道[enterFrameEvent]实际上在做什么?我认为它本质上是事件循环的“主要”功能,因此预计有高的累积时间.但为什么自我时间如此之高?实际发生了什么?我没想到玩家内部会占用这么多时间,特别是因为应用程序中没有发生任何事情(并且没有UI更新). 有什么好的方法来找出发生的事情吗?我知道一些事情不应该是(看起来肯定有某种忙碌的等待或其他失控的循环),但是分析器没有给我任何我期待的结果.我的下一步将是开始在各种地方添加调试跟踪语句来尝试跟踪实际发生的情况,但我觉得必须有更好的方法. 解决方法
这是几个通常发生在一个flex项目中的一个enterframe Handler的事情.有些事要注意
>手动mycomponent enterFrame =“”>事件响应或通过component.addEventListener(Event.ENTER_FRAME,myfunc)手动添加的事件响应 / edit也如前所述,[enterFrameEvent]在技术上应该在每个帧开始时内部触发,但是除非已经明确地附加事件以执行用户代码,否则它不应该执行任何操作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |