Qt Canvas Painter blog post series
-
Awesome but licensing this under GPL is a bummer.
-
@Adam-Jensen Thanks! Yes, GPL/commercial license can hinder some of the adaptation, but hopefully it will be applicable for those to whom the license suits.
-
Nice to have an efficient alternative to QQuickPainterItem!
Too bad about the no LPGL but I understand it.Will it be a potential new backend for the QML
Canvas? Will a new type be introduced for that?
Or does that not make too much sense and will lose the performance improvements it brins? -
Nice to have an efficient alternative to QQuickPainterItem!
Too bad about the no LPGL but I understand it.Will it be a potential new backend for the QML
Canvas? Will a new type be introduced for that?
Or does that not make too much sense and will lose the performance improvements it brins?@GrecKo: Thanks! Yes, the plan is to have a new Quick Canvas implemented with the Qt Canvas Painter. And current plan is that it would be a new element and not just a backend for the existing Canvas element. There are many reasons for this, for example, we can then remove the deprecated code & features ( https://doc.qt.io/qt-6/qml-qtquick-canvas-obsolete.html ) and make the API & features match the Canvas Painter C++ API. PoC shows that performance improvement to the current Canvas element is very notable π
Any suggestions for the element name? One of my ideas was "Canvas2D", but not sure about that yet... π€
-
@GrecKo: Thanks! Yes, the plan is to have a new Quick Canvas implemented with the Qt Canvas Painter. And current plan is that it would be a new element and not just a backend for the existing Canvas element. There are many reasons for this, for example, we can then remove the deprecated code & features ( https://doc.qt.io/qt-6/qml-qtquick-canvas-obsolete.html ) and make the API & features match the Canvas Painter C++ API. PoC shows that performance improvement to the current Canvas element is very notable π
Any suggestions for the element name? One of my ideas was "Canvas2D", but not sure about that yet... π€
@Kaj-Gronholm said in Qt Canvas Painter blog post series:
Any suggestions for the element name? One of my ideas was "Canvas2D", but not sure about that yet... π€
I think
Canvas2Dworks well. It offers a clear link to the 2D HTML Canvas API, while making it clear that it's not the same asCanvas(https://doc.qt.io/qt-6/qml-qtquick-canvas.html) orCanvas3D(https://doc.qt.io/archives/qt-5.12/qml-qtcanvas3d-canvas3d.html) -
@Kaj-Gronholm said in Qt Canvas Painter blog post series:
Any suggestions for the element name? One of my ideas was "Canvas2D", but not sure about that yet... π€
I think
Canvas2Dworks well. It offers a clear link to the 2D HTML Canvas API, while making it clear that it's not the same asCanvas(https://doc.qt.io/qt-6/qml-qtquick-canvas.html) orCanvas3D(https://doc.qt.io/archives/qt-5.12/qml-qtcanvas3d-canvas3d.html)@JKSH Thanks! So Canvas2D it might be then π
-
@Adam-Jensen Thanks! Yes, GPL/commercial license can hinder some of the adaptation, but hopefully it will be applicable for those to whom the license suits.
@Kaj-Gronholm There are many cases where GPL is problematic but LGPL would work. While I understand the commercial imperative, it is depressing that nothing new is being contributed to the core Qt (I appreciate there are bug fixes). It doesn't feel like a "difficult decision" but instead what is now normal. It is also frustrating that the commercial license is too expensive for me to justify to management (together with the clause preventing switching part-way through development). I still had hope that small features or performance-focused improvements might still find a home under the LGPL, but that does not look likely now.
-
@Kaj-Gronholm There are many cases where GPL is problematic but LGPL would work. While I understand the commercial imperative, it is depressing that nothing new is being contributed to the core Qt (I appreciate there are bug fixes). It doesn't feel like a "difficult decision" but instead what is now normal. It is also frustrating that the commercial license is too expensive for me to justify to management (together with the clause preventing switching part-way through development). I still had hope that small features or performance-focused improvements might still find a home under the LGPL, but that does not look likely now.
@beeka I'm confident the licensing feedback will be monitored and adjusted if needed. Also, I'm sure there are ways to avoid the part-way through development issue. If in doubt, please get your management in touch with our sales representatives.
-
The third post of the trilogy is out now: https://www.qt.io/blog/accelerated-2d-canvas-benchmarks
TL;DR: Canvas Painter can be up to 10 times faster than QPainter with the OpenGL backend. Please read the blog post for details and comment here with your own results!
-
While I understand the commercial imperative, it is depressing that nothing new is being contributed to the core Qt (I appreciate
there are bug fixes). It doesn't feel like a "difficult decision" but instead what is now normal.I can understand the frustration, but it's simply not true that everything 'new' in Qt is released only under Qt Commercial + GPL3 licenses. Actually the other three new modules in Qt 6.11 - Qt TaskTree, Qt OpenAPI and Qt Labs StyleKit - are made available under Qt Commercial + LGPLv3! And there are also new features in a lot of established Qt modules ...
This obviously doesn't help you though if you are interested primarily on Qt CanvasPainter.