Questions about openFL, Frameworks and starling


I am new to OpenFL and Haxe, I have been programing in plenty of languages for over a
decade so learning them won’t be an issue. I do however need some guidance when
it comes to different frameworks.

I have a couple of old flash games I would like to port to mobile devices,
while adobe AIR could probably do the trick, I would like to move my as3 code over to a more usable language so that I can use for other projects. Haxe off course looks like an excellent solution to
this and there are plenty of game engines/frameworks to choose from. From what I
can tell Starling seems to be the best solution for my porting project I do
however have a couple of questions that I hope you guys might help me get answered.

From what I can tell Starling 2 has a lot of performance improvements over
version 1, however there does not seem to be any Haxe version released yet,
does anyone know how far the 2.x port has come and if there is any plan for a
release this year?

Does the Haxe port for starling support include other targets than just adobe

How does openFL compare to Starling performance wise? I have read a few old posts
stating that when targeting AIR/flash OpenFL is quite a bit slower than Starling,
but these are old posts and OpenFL seems to be updated and improved all the
time so are these claims still valid?

When you target Flash, the normal display list uses a software renderer, while Starling leverages Stage3D, giving hardware acceleration. On mobile (especially) this makes a performance difference. OpenFL on other targets (such as HTML5 or the desktop/mobile native targets) uses OpenGL for hardware-accelerated rendering. This can perform better than ordinary Flash for regular display list projects.

OpenFL added a Tilemap API that is like quad batch API, designed to feel similar to the ordinary display list. If you reach a performance bottleneck and need additional performance optimization, this (or other approaches) can be good solution.

Starling in Haxe uses Stage3D on Flash, and Stage3D on OpenFL. The downside is this will not work in HTML5 canvas or Cairo on native platforms, which we use when hardware acceleration is not fully available in the browser or on desktop platforms. Most of the time this isn’t an issue, but it can affect supporting older hardware.

Starling is not fully ported. Ultimately, so long as you do not rely too heavily on BitmapData-based rendering or, you can get hardware acceleration either way, so I would recommend what you prefer.

OpenFL includes a BunnyMark sample that might be helpful for benchmarking. The Starling demo also includes a benchmark

1 Like