mxmlc: fitter, happier, more productive
TRANSCRIPT
mxmlc: fitter, happier, more productive
Brian Deitte
more productive (with faster compiles)
Tips for Flex Builder 3
••
••••
• Build every application in one project using multiple source pathsBuild parts of the applications as SWCs Close extra projectsUse a system font instead of embedding fontsTurn 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
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
Tips for Flash Builder 4
•
• Use the Flex 4 SDK
Use the Flex Builder 3 tips other than using one large project
fitter (with smaller SWFs)
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
Third-party Happiness
•
•
• Third-party projects can help with smaller SWFsTested with 431 KB SWF that uses framework RSL, Cairngorm, and has a lot of embedded imagesAlso tested with a 254 KB SWF that only uses AS3, architected for size, and has no embedded images
Flash Optimizer
••
•
• http://www.flashoptimizer.com/
Using "Good" compression settings:SWF #1: 17% savingsSWF #2: 0% savings
secureSWF
••
•
• http://www.kindisoft.com
Using the "Optimize for size" settings: SWF #1: 4% savingsSWF #2: 5% savings
Apparat Reducer
••
•
• http://code.google.com/p/apparat/
At .5 for both settings:SWF #1: 3% savingsSWF #2: 0% savings
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
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."
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?
happier (with answers to your questions)