my company is developping a fairly huge enterprise application involving Flex 4, BlazeDS, a Java-Spring server side and the Mate framework on the client side.
It's working fine but since the application is growing bigger and bigger performance issues are a big concern for us... And our customers !
We just noticed a performance problem and I couldn't find any resource addressing it on Google, here it is:
It seems to us that whatever the number of CPU your computer has, our Flex app always use only one of them. As a consequence, our application runs more smoothly on a single-core P4 CPU at 3 GHz computre than, say, on a core i7 with 8 CPUs at 1.6 GHz ! Quite odd isn't it ?
However I've learned that the Flash Player handles multicore since its version 9, so maybe am I missing a simple trick ? Is there something I should do to enable multicore processing ? Is it my application that is badly designed ? Or an operating system issue maybe ?
Any help would be greatly appreciated
Actionscript is currently single-threaded, so there is no advantage to trying to distribute its processing across multiple cores. Once the actionscript has set up the displaylist for a frame, some aspects of the rendering of the display list can be distributed to other cores or even a gpu. Use the performance profiler to see where you AS usage patterns are expensive and optimize.