O'Reilly logo

Introducing Starling by Thibault Imbert

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Optimizing for Performance

As mentioned before, Starling is a very easy and productive framework but you need to understand how to use it properly to get the best out of it. We are going to cover now the most important things you should know when it comes to performance optimization with Starling.

Release Build

This is the first thing you should know about. To gauge the real performance of your application, always export your SWF as a release build. In Flash Builder, just click on Project then Export Release Build. The ActionScript 3 compiler will export your SWF without any debugging informations from the bytecode which would alter performance at runtime. If you are targeting iOS, make sure you use the “ipa-ad-hoc” or “ipa-app-store” options when packaging the application with adt (packaging tool for Adobe AIR).

CPU Bound vs GPU Bound

When it comes to performance optimizations, it is important to remember that your content could be slow for two reasons, either because you are maxing out the CPU or the GPU. Having the CPU maxed out will impact performance because the GPU will be waiting for the CPU to know what to do next, this scenario where the GPU is idle and waiting is definitely something you want to avoid.

So keep in mind that doing a lot on the CPU side (physics, complex gaming logic, etc.) will have a direct impact on the GPU. The key for great performance is to have the GPU and CPU talking to each smoothly in parallel.

To help you discover where you are spending most of your ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required