On Mon, 03 Sep 2018 12:39:22 -0700, Thiago Macieira wrote: > Your criteria for "competitive" are different than the maintainers'.
I was referring to the work of Gunnar and Kim, but comparing X11 with Raster and the quality of the implementation of the Raster paint engine are interesting topics as well. > You're not including the pathological cases where the X11 graphics > system didn't perform as well and required the raster engine to kick in. As being the maintainer of a cross platform library build on top of QPainter I have some experience in this area: when it comes to vector graphics X11 just rocks. Performance is much better and I never had all these bugs of Raster coming and going with every version. Actually my code is full of #ifdefs with enabling/ disabling workarounds for specific bugs in specific Qt versions. F.e: - https://bugreports.qt.io/browse/QTBUG-42398 - https://bugreports.qt.io/browse/QTBUG-70101 The situation for doing raster operations is the opposite. Actually I have code that fills QImages with gradients before drawing them to a QPixmap to get around X11 issues. -- Concerning the performance: the use case of technical plots is often about drawing curves ( unfilled painter paths, with a simple pen ) of many points. I once played with doing my own rasterization ( setting the pixels manually to a QImage ) by implementing a few algos you need: - https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm - https://en.wikipedia.org/wiki/De_Casteljau%27s_algorithm - https://en.wikipedia.org/wiki/Xiaolin_Wu%27s_line_algorithm Unfortunately I don't have the code anymore and of course it is not fair to compare a feature rich API like QPainter with something that is optimized for a specific use case, but: AFAIR the improvement was significant. > And you're not including the need to produce the exact same result in > all platforms. This is also a quite interesting topic, as the incompatibilities between the different paint engines is in fact a nasty problem. F.e. drawing a simple line with a FlatCap: for some reason it is specified ( https://doc.qt.io/qt-5/qpen.html#cap-style ) not to draw the "endpoint". Actually this not what the X11 paint engine does - never did - and you have a mismatch with Raster over all Qt4 releases. The OpenGL paint engine shifts everything by one pixel to the left compared to Raster. I thought I added a bug report for this very fundamental problem a couple of years ago, but I can't find it. Anyway, I'm not the only one: - https://bugreports.qt.io/browse/QTBUG-27500 Please note, that the final comment of this report indicates, that the incompatibility between raster and opengl won't be fixed, because X11 is no longer supported ! Uwe _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development