This session seems to be very interesting. David showed some performance tests with Flex 1.5 and FP 7 vs. Flex 2.0 alpha and FP 8.5 and the speed is dramatically increased.
Some more hints:
* Object initialization
- deferred instantiation
- think about the use of objects and when to create an object
- use mx:Repeater carefully (do you really need all the objects created inside of a repeater - better might be a custom cellRenderer...)
* Measurement/Layout
- two phase algorithm (measurement phase from buttom up, layout phase form top down) - algorithm is O(n) - that means: look after the number of containers you have
- Reducing container nesting: HBox/Vbox instead of Grid, avoid nesting VBox inside Panel or Application, the root of an MXML component doesn't need to be a Container, use Canvas with constraints
- Bad: Container with single child
* Optimizing rendering
- great way to gain performance and to learn about redraw regions: "show redraw region" option in the debug player
- cacheAsBitmap option to avoid redrawing, example: move effects. Drawback: object change is more expensive
- decrease size of redraw regions
- use Resize.hideChildren for resizing effects
* Memory usage
- use newer player, FP 8 half as much memory as FP 7, FP 8.5 uses a bit more due to the new JIT compiler
- discard unused UI (myViewStack.removeChild())
- clear reference to unused data (...=null or myWebService.name.clearResult())
- break app into multiple swfs
* General
- implement your own paging for huge amounts of data
- in Flex 2.0: new data services architecture
- changing styles at runtime is bloody expensive !!!
