Skip to main content
Jeff__Ward
Inspiring
December 10, 2013
Question

AIR 4.0 -useLegacyAOT no (halfmoon) result

  • December 10, 2013
  • 3 replies
  • 2150 views

Hi all,

Just a result from the improved -useLegacyAOT no (aka halfmoon) compiler:

Our app is 10's of thousands of lines of AS3 code, 800kb SWF, ~100 external assets (PNG, SWF, XML, no external code SWFs), no ANEs.

-ipa-test compilation time improved from 160 seconds to 40 seconds.

Interestingly, removing the asset SWFs (about 40 files, 400kb total, again no code), this reduced compiltion time further to 18 seconds.  Removing the PNG assets (about 30 files, 4MB) had no further effect.  Thus, I assume scanning those SWF files for ABC bytecode is taking a bit of time.

While there's a bit of room left for improvement, this is a great and much appreciated step!  Thanks, guys!

Best,

-Jeff

BTW, for anyone else using a Linux commandline workflow, the compile-abc.exe requires the latest wine version 1.7.  With wine 1.6 you get the error message:

wine: Call from 0x7bc4e430 to unimplemented function KERNEL32.dll.InitOnceExecuteOnce, aborting

This topic has been closed for replies.

3 replies

Inspiring
December 12, 2013

Yeah, does that work on iOS? Wouldn't think so (and even if it does, I could see it resulting in some app potentially blocked by Apple) I've seen some other methods, like generating embedded fonts at runtime on a server, but they won't work on iOS. I also saw a library for parsing some font types at runtime some time ago (I think it was by polygonal.de?), but I think the initial parsing would be slower than desired, didn't try it, and when it was released I didn't even have a smartphone (too new back then IIRC).

If you can avoid normal text fields, I'd say to go with bitmap fonts, that way you could load them at runtime with no problem.

Participating Frequently
December 11, 2013

I have just made one test on one larger project:

AIR 3.9

175 seconds

AIR 4

25 seconds

Awesomeee!

Legend
December 11, 2013

You measure your compile time in _seconds_!!

Wow.

I was pleased when I got it down from 20 minutes to 8 minutes by moving to a faster machine... I can't wait to download 4 and test the new compile mode.

G

Jeff__Ward
Inspiring
December 11, 2013

Gaius - just curious, how big is your main SWF and how many asset files (specifically, how many SWFs and how large) do you have?  Do you know if your asset SWFs contain as3 code?

You may be easily able to test a package without assets by removing your equivalent of my "-C src assets" argument.  Of course, the app will be unusable, but it should package successfully.

If packaging pure-graphics (codeless) SWF assets is a huge pain point, we (and or Adobe) could potentially easily work around this issue.

Legend
December 11, 2013

"how big is your main SWF?"

Big.

I'll give you a clue; it has in the order of 370 embedded fonts...

If somebody, anybody, can give me a workaround to load fonts on demand I will definitely be open to the suggestion of buying them a chocolate biscuit - maybe even one with nuts in!

G