[Development] The dark side of QtSvg

Massimo Callegari massimocallegari at yahoo.it
Thu Mar 12 16:28:49 CET 2015


Hi everyone,following my last November's email about QtMultimedia (http://lists.qt-project.org/pipermail/development/2014-November/019035.html) (where in 4 months almost all the efforts kept on going to camera support...leaving almost 200 tickets rotting on JIRA) it seems that my lack of luck continues as I found another "gray area" of the Qt framework.
This time the winner is QtSvg. It all started here: https://bugreports.qt.io/browse/QTBUG-44863
The idea is simple: in my opinion a SVG element blends perfectly into the QML world (as in "vectorial" blend) and in many cases it can be a time saver when needing a custom graphics item. The alternative is using the Canvas element, but it takes much more time and it's not as flexible as SVG.Please note that I am not talking about icons. I am referring to proper UI elements, where one could apply a QML OpacityMask and obtain pretty nice effects in no time.
Now on JIRA I've been informed about the component status: http://wiki.qt.io/Qt_Modules_Maturity_Level
"Qt SVGOverall module state: Deprecated - New maintainer requiredReasoning: SVG Full (as opposed to SVG Tiny) functionality available in Qt WebKit, which should be used instead; we welcome research for a replacement for the SVG-generating code."I found the "use webkit" statement a big non sense. You surely know that on Windows you need to bundle all the Qt libraries when deploying a Qt application.So basically if I want to write a simple hello world application rendering one single SVG icon, I need to bundle QtWebEngine with all the related ICU stuff.Means a hello world with a delicious size of around 100MB ! Again: non sense.
So my wonder is this: if the SVG rendering of QtWebKit/QtWebEngine is modern and solid, why not "extracting" it from those monsters and place it into a brand new QtSvg ?
This would bring two advantages:1- applications that need to render SVG graphics can rely on a small footprint but efficient QtSvg library2- QtWebEngine can be built without the SVG support (if needed) to reduce the library footprint. Now it's all monolithic and on embedded systems with low memory availability, a 64MB library is a total killer.
Please let me know your views !
Thanks and regards,Massimo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20150312/3d395f44/attachment.html>


More information about the Development mailing list