crossbridge-community / crossbridge

C/C++ Compiler for the ActionScript Virtual Machine (AVM2)
http://sourceforge.net/projects/crossbridge-community/
Other
151 stars 36 forks source link

Master: Improve performance of AS3 implementation (POSIX classes) #51

Closed vpmedia closed 3 months ago

vpmedia commented 10 years ago

Investigate why CrossBridge made SWCs are failing to perform when used in an Android APK or iOS IPA project, and which components of the SDK are related (CModule/CRun?) Possible improvements:

JoeDupuis commented 10 years ago

Adobe stated somewhere that using Flascc code isn't compatible with mobile (or not supported). I can't find where. I think it was one of their staff posting on the flascc forum.

I don't think it is a good idea to do so, I prefer to port my mobile native app to flash using crossbridge instead of doing them for flash directly in c++ and porting them to mobile through air.

Though I can see the use case where someone with a flash app would want to use a c++ lib ported to flash with crossbridge (like the ones in the samples) and port their app to mobile. So i don't see why it should not be supported.

Have you found a culprit yet by profiling ?

vpmedia commented 10 years ago

Somehow I can't see deep enough when using Scout. Only the application code is profiled, but not the embedded ABCs (like C_Run and CModule) Anyway I've improved performance a bit, since serviceUIRequests() created a new Vector of integers every frame, which was triggering the GC too often, I think.

vpmedia commented 10 years ago

I agree that nowadays it's much more easier to create an Air Native Extension (ANE) but still I've read user requirements about using Away (Bullet) Physics for mobile. and Desktop also benefits from performance optimizations. Performance is one of the key thing why I'm using CB in projects. Also I'm in need to have non-native fallback for native extensions (for web and !maybe! incompatible devices), which is recommended by Adobe too.