Hello,
I have a Flex application. Surprisingly it keeps my CPU at ~50% loaded (it fluctuates between 40% and 60%) when run on my laptop. The laptop is a 4 year old Dell model - CPU is Intel T1350 @ 1.86GH. The strange thing is that the application keeps my CPU at 50% even though it doesn't do anything. It is a static, rather complex Flex screen. I don't have no effects running, no server communication, no animation. Of course it has effects and similar dynamic behavior but in this test I do not touch it. I simply load it and it stays static but still the CPU is at 50%. Of course I profiled the application but it doesn't give me a lot of useful information. I even profiled the application when the browser is hidden by another window (still the CPU is high) and the bulk of the time spent was in these three items: Timer.tick - 54.5%, [enterFrameEvent] - 21.5% and [reap] - 12.5%. All these are Self Times i.e. not in other methods invoked within these three.
Any ideas what could cause such high CPU utilization are more than welcome. ... or approaches how to determine the root cause.
Additional information: When the same app is run on my development machine (CPU Intel Core 2 Quad Q6600 @ 2.4 GH) of course the utilization drops to 16% because the CPU is several times faster but still it is too much for static screen and this fast CPU. Also if I run it with IE (all numbers above are for FF) then the CPU utilization goes near 0%. I guess the ActiveX flash player version manages to offload the CPU by delegating work to the GPU (my video card) but this is only relevant for the scenario IE + good video card, which is not an assumption I could make for most of my users.
I also noticed that raising the FPS up to 60 (the numbers above are for the default 24 fps) this doesn't really changes the CPU load. Decreasing the FPS to 12 decreases the CPU load but not proportionally and this cannot be the way to handle this problem.
I tend to think the problem is related to the UI hierarchy I have. It might be too complex and/or nested for the flash player but then why it should take CPU time when the screen is completely static.
Help is needed.
Thanks!