3. Tips for Flex Builder 3
• Build every application in one project using
multiple source paths
• Build parts of the applications as SWCs
• Close extra projects
• Use a system font instead of embedding fonts
• Turn off "Copy non-embedded files to source
folder"
• Turn off "Build Automatically"
• More tips at: http://www.deitte.com/
archives/2008/10/how_do_you_spee.htm
4. General Flex 3 Speedup
• To get a 25% speedup, use pieces of Flex 4:
http://www.deitte.com/archives/2008/10/
a_faster_flex_3.htm
• Want more of a speedup? Use Flex 4
5. Tips for Flash Builder 4
• Use the Flex 4 SDK
• Use the Flex Builder 3 tips other than using
one large project
7. Use You Compiler Options Wisely
• Use framework RSL... if at all possible:
http://livedocs.adobe.com/flex/3/html/
help.html?content=rsl_09.html
• Use conditional compilation... with care:
http://livedocs.adobe.com/flex/3/html/
help.html?content=compilers_21.html
8. Third-party Happiness
• Third-party projects can help with smaller
SWFs
• Tested with 431 KB SWF that uses framework
RSL, Cairngorm, and has a lot of embedded
images
• Also tested with a 254 KB SWF that only uses
AS3, architected for size, and has no
embedded images
12. Apparat TAAS
• http://code.google.com/p/apparat/
• Look for more details as they show up on
http://blog.joa-ebert.com/
• Lots of excitement around the project with
many potential compiler optimizations
• Based on TODOs in TaasBuilder.java, not
usable right now for real SWFs
13. Flex 4 Changes
• Image compression in Embed. To quote:
"The fix for SDK-18954 adds Embed support for smoothing,
compression and quality. For example:
[Embed (source='foo.png', smoothing="false",
compression="true", quality="80")]
private var bar:Class;
smoothing and compression are booleans and quality is a
percentage between 0 and 100. quality requires that
compression be true. The actual smoothing is implemented by
the player at runtime."
14. Future Changes?
• In Alchemy: C to LLVM to AVM2 bytecode
• In iPhone kit: AS3 to LLVM to ARM assembly
code
• In Future: AS3 to LLVM to AVM2 bytecode?