No, but now I understand. I see that starling and openfl aren’t in the same class hierarchy tree and they also have incompatible signatures. E.g. starling.display.MovieClip constructor has a different signature to openfl.display.MovieClip's constructor. Not very interchangeable is it, which makes more work in trying to convert flash code to use starling.
Are there any articles on converting flash to starling that includes a discussion on these compatibilities and why these incompatibilities exist?
OpenFL is GPU-accelerated, you do not have to use Starling if your code uses Flash classes already. What motivations are there for switching your code to Starling?
@chrisvelevitch Historically Starling is an AS3 (Flash) library created to use Stage3D (display through GPU) in a way that mimics regular flash display list. It looks very similar API-wise but it’s much different under the hood.
@singmajesty my take on this is I have no idea how OpenFL GPU acceleration works. Whereas with Starling I know how to optimize performance : minimize draw calls, use texture atlases etc
Also I doubt it’s all GPU accelerated : sprite.graphics stuff for example. I’ll post about that at some point, I have UI items looking very bad when I move them : it’s all smooth on flash target but stutters on windows target despite framerate being a solid 60fps. Not a priority for me right now, hence why I didn’t post about it yet
This is a key reason I have migrated my current OpenFL project to Starling also. The other reason is I’ve been developing with AS3/Starling for years, so there is the familiarity of it, which speeds up dev.
Thanks ! That’s very useful to know (also I hope my previous post didn’t come out as sounding harsh or something, definetely not the intention ^^)
Just to make sure I understand correctly : if I have 2 bitmaps sharing the same bitmapdata (and one after the other in the display list order) it results in 2 draw calls, right ?