After applying the monkey patch mentioned by Pedro with only modest performance gains (I suppose we had fewer styles, or the performance was fixed in a more recent patch), I continued profiling the initialization of our List instances.
One thing I found is that Flex spends quite a lot of time in UIComponent
's initializeAccessibility
function, even though our application does not support accessibility in any way (whether applications ought to do that is an entirely different issue).
Merely adding -accessible=false
to the compiler arguments cut time spent initializing a particularly heavy list by about a third! Not only that, the whole application in general feels snappier when windows are opened, controls are shown for the first time, etc. If you have no need of accessibility support, you might want to check this out - if you do, I'm sure something can be done to fix the abysmal performance of initializeAccessibility
- simply through overriding it in your component implementations, or through even more monkey patching :-)
Group Group fxg for bg s:Label Group BorderContainer for selection state Group Rect BitmapImage HGroup VGroup (this part times 3) BorderContainer Label
Hope this makes sense. Thanks! – Pedro