Why MovieClip does not support GPU Acceleration

Adobe AIR offers GPU Acceleration support for MovieClip on Mobile with some limitations.

According to my tests, GPU Acceleration really works, so why isn’t this support available in OpenFL?

GPU rendering mode limitations

  • If the GPU cannot render an object, it is not displayed at all. There is no fallback to CPU rendering.
  • The following blend modes are not supported: layer, alpha, erase, overlay, hardlight, lighten, and darken.
  • Filters are not supported.
  • PixelBender is not supported.
  • Many GPU units have a maximum texture size of 1024x1024. In ActionScript, this translates to the maximum final rendered size of a display object after all transformations.
  • Adobe does not recommend the use of GPU rendering mode in AIR applications that play video.
  • In GPU rendering mode, text fields are not always moved to a visible location when the virtual keyboard opens. To ensure that your text field is visible while the user enters text, do one of the following. Place the text field in the top half of the screen or move it to the top half of the screen when it receives focus.
  • GPU rendering mode is disabled for some devices on which the mode does not work reliably. See the AIR developer release notes for the latest information.

Source: https://help.adobe.com/en_US/as3/mobile/WS901d38e593cd1bac-3d719af412b2b394529-8000.html

Under Adobe AIR, the Starling framework in my opinion, is by far the most effective and performant way of tapping into hardware acceleration.

Under OpenFL, Starling is still an option, but as Haxe/OpenFL works a bit differently, it may not be as necessary as it was under AIR.

For example, with OpenFL you can make use of Tilemap which is a hardware batching API.

More info and example:
https://www.openfl.org/blog/2015/10/06/october-update/#tilemap