[Development] iMX6 EGLGS 2D (QtWidgets) painting acceleration

Uwe Rathmann Uwe.Rathmann at tigertal.de
Thu Aug 30 17:46:32 CEST 2018


On Thu, 30 Aug 2018 07:50:41 -0700, Thiago Macieira wrote:

> The result of (b) is a retained-mode scene graph. It's in the QtQuick
> library.

I know, but now we have Qt 5.11 and it is fair to review this result:

the API of the scene graph - as it is today - is so far from offering a 
comparable feature set like the one you have with QPainter. Actually it 
does not even offer the most fundamental primitives like:

- non rectangular boxes
- text
- ...

Have a look at all classes in the public API being derived from QSGNode: 
it boils down to QSGImageNode, QSGRectangleNode, QSGSimpleRectNode and 
QSGSimpleTextureNode. Do you really recommend starting with only this ?

All sort of code that implements the minimal set of primitives almost 
everyone needs is hidden somewhere in private code of Qt/Quick core. But 
even if this code would make it into the scene graph it would be far from 
what you get with QPainter.

But QPainter is more: it is an API, that allows you to implement render 
engines that works with different backends - f.e PDF is often simply 
mandatory. So implementing a plot package on top of scene graph does not 
mean, that you can drop the QPainter code you have to do the work twice.

Having the common API running on various backends is such a huge asset of 
Qt - maybe one of the most important ones Qt has to offer. I really don't 
get why so many Qt developers do not realize what you actually have in 
your hands.

Uwe





More information about the Development mailing list