Hey maybe this will help you out http://gskinner.com/talks/resource-management/
It’s a great presentation! My game was using around 120MB and after learning about how can you improve your memory management, now uses in debug mode 40MB and release about 25MB.
So good luck, and also do not rely on the flash drawing API . As much as you can use bitmap, bitmap-caching and also bitmap sprite-sheets. This is the way of doing it for mobile platforms.
Yeah, I spent 5 days trying to optimize my code to run better using some of those techniques with VERY little increase in performance. I’m using the latest AIR build. The performance wasn’t HORRIBLE , but it wasn’t even close to the performance of a native objective-c app, sadly. So, I’m learning Objective-C now. It’s challenging, but I’ll get there.junus said
Actually, I have found some tips about increasing performance for AIR on iOS and Android. Also, after Air 2.7, the Air platform becames more faster on these system. Also, I have not strong programming language skill except as3
AIR has great future as long as you’re really into it. It’s the choice to learn a total new native platform or else take advantage of your current flash skill but tons of optimization tricks also need to be learned.
Thank you for your all suggestions
My game is almost ready
My honest feedback is you can try for one project but I really think you will decide to go native in next project.
When it comes to writing any app for any platform the decision for native vs. using a runtime always has to be approached project by project, it’s not a one is better than the other thing. And it’s definitely not an issue/decision that is new, things such as java vs. c++ have been in this situation for many years.
If it’s a 2d puzzle game, or a note taking app, etc. – use a runtime (like AIR ) so that you can easily deploy to multiple platforms, easily update them all to keep your program always bug free and patched up with minimal expenditure, etc etc.
If it’s something like a 3D first person shooter game, or something else that pushes the resource abilities of a system – then you need to go native because only native lets you truly utilize the speed/rendering possibilities of any given system.
The answer of portability vs. performance can only be answered on a case by case basis, just understand both and choose wisely. But regardless, both methods will stay big players in any form of application development because both methods have their situations where they are better.
Very well put MBMedia!
I never considered my apps in this perspective, but makes total sense.
Notice that Stage3D is coming soon on AIR 3 .2 mobile so it is not impossible to develop 3D mobile game with Flash in recent future:http://blogs.aerys.in/jeanmarc-leroux/2012/02/02/air-3-2-stage3d-and-minko/
Still, it’ll take sometime to become mature enough, don’t expect any mobile game framework like Unity anytime soon.
Notice that Stage3D is coming soon on AIR 3 .2 mobile so it is not impossible to develop 3D mobile game with Flash in recent future: http://blogs.aerys.in/jeanmarc-leroux/2012/02/02/air-3-2-stage3d-and-minko/ Still, it’ll take sometime to become mature enough, don’t expect any mobile game framework like Unity anytime soon.
But stage3D is not just for 3D, I’ve been testing the Starling framework on desktop with particle emitters and the performance is way better. I just hope it performs as well on mobile as my game depends on it
Would you mind going into detail about the nature of the app you were trying to build? More specifically, did it use a lot of vector graphics, were there a lot of objects being instantiated, how you went about bench-marking the performance of your app when run on an iOS devices etc…
The app I’m trying to build has game mechanics similar to the Doodle Jump game. I only would display items on the screen when needed and would use object pooling. It worked okay, but the frame rate just couldn’t get as smooth as the native apps.
I’ve been playing with objective-c and it’s so much smoother. I can do an alpha dissolve and it’s smooth as butter. With Flash it’s impossible. Super clunky.