Fork us on GitHub

New Graphics Pipeline

Finally the new graphics pipeline is starting to trickle into...

New Graphics Pipeline

Finally the new graphics pipeline is starting to trickle into the JavaSE port and the iOS port & once we iron those two out it should make its way into the Android port.
With this in place we are finally at a point of functionality similar to JavaFX but without the overhead and performance implications that FX carries with it.

The new pipeline includes new API's for shapes, affine/perspective transforms and more. Notice that unless you are a graphics geek these things won't mean much to you, but these things allow us to expose complex features (e.g. high performance charts, special effects) thru the high level API's. Since not all devices will support these capabilities we they each include an is*Supported method in Graphics and if your painting code needs access to that capability it should test that availability and provide a reasonable fallback. Right now most of the capabilities should be supported for iOS and Java SE with Android support arriving later.

Notice that even when supported some features can't be exposed on all platforms, e.g. perspective transform isn't available on our current JavaSE port and might not be available in the future since Java2D doesn't support that. JavaFX introduced some form of perspective transform but this effectively means rewriting a great deal of code to use the JavaFX API's which is a non-trivial task. Hopefully this will be easier to integrate on the Android front.

To enable the new pipeline on iOS you will need to use the build argument ios.newPipeline=true
Its currently off by default to maximize compatibility and prevent regressions, however we recommend that you test your apps with this flag even if you don't currently need this feature so we can be ready for flipping the default state for this switch.

Notice: This post was automatically converted using a script from an older blogging system. Some elements might not have come out as intended.... If that is the case please let us know via the comments section below.

Share this Post:

Posted by Shai Almog

Shai is the co-founder of Codename One. He's been a professional programmer for over 25 years. During that time he has worked with dozens of companies including Sun Microsystems.
For more follow Shai on Twitter & github.