On 3/24/19 1:13 PM, Allan Sandfeld Jensen wrote:
Because imperative in the case of QPainter means immediate. The result is expected to have been committed to the paint device when the call returns.
In case of the X11 paint engine this means that the points have been sent to the X server - not that any rendering has been done. From the application point of view this is not that different to putting the points to a scene graph node, beside that some interprocess communication is involved. You put your points somewhere and continue with whatever needs to be done. Guess the scenegraph solution will need more memory, but this is a different story.
The creates extra overhead, due to a lot of small OpenGL calls constantly changes states and issuing short non-batched draw calls.
Here we are talking about a single QPainter::drawPolyline. I bet it finally ends up at exactly the same call regardless if you use QPainter or the scenegraph. While a lot of what you are saying is true in general it is not helpful to constantly ignore the specific use case of Denis. Uwe _______________________________________________ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development