Minutes Monday Plasma hangout
david at davidedmundson.co.uk
Wed Feb 19 17:11:12 UTC 2014
On Mon, Feb 17, 2014 at 1:26 PM, Sebastian Kügler <sebas at kde.org> wrote:
> Plasma Meeting February, 17th, 2014
> Present: Alex Fiestas, David Edmundson, Giorgos Tsiapaliokas, Marco Martin,
> Martin Grässlin, Martin Klapetek, Jens Reuterberg, Antonis Tsiapaliokas,
> Sebastian Kügler, Vishesh Handa,
> - finished wallet work (it's secure now!)
> - works on kdeinit now (benchmarking and profiling to make it lighter)
> - researches overlap with systemd, where can we use systemd?
> - started notes plasmoid (davidedmundson/notes)
> - debugging proxymodel, fixed problem
> - fixed toolbox problems
> - various improvements in tooltip
> - other bugfixes
> - profiling: looking at memory consumption of Plasma
I had a look at the code for QSGTexture, it does indeed store a cache
of the texture as a QImage. .
Right now we do two paints SVG->QPixmap (the cache) and
QPixmap->QImage (via QQuickPaintedItem).
This second paint is very problematic for 3 reasons:
1) it's another paint!
2) we store the image twice
3) we are no longer implicitly sharing the same image when we do a
paint across images as opposed to copying a QImage.
I have just managed to make Plasma::SvgItem provide QSGNodes rather
than inheriting from QQuickPaintedItem.
This is half way there, the next step is to port most of
Plasma::Theme/Plasma::SVG to use QImage instead of QPixmap throughout
(including the cache) so that we can avoid the deep copies and the
secondary QPainting. This will mean breaking the public API(!), but it
will be totally worth it.
current branch "native rendering", any help will be appreciated.
More information about the Plasma-devel