Hey fellow plasmoids,

I've been wondering for a while now what I should use for rendering 
pixmap-based 
imaged onto Plasma running on X, QPixmap or QImage. The usecase I'm coming 
across 
regularly is that I paint an icon, and something on top of that. Possibly 
animated so 
we sometimes are rendering a few frames per second.

To give a usecase, last summer, I've moved the picture frame applet from using 
QImage 
all over to QPixmaps. Resizing (which involved often resizing the image shown 
from 
original size down to displayed size) seems to be smoother and less CPU-heavy 
with 
these changes. One observation I made was that t
The resizing is done by drawing a larger QPixmap into a smaller rect, as 
advised on 
techbase ( http://techbase.kde.org/Development/Tutorials/Graphics/Performance ).

So ...

(1) what's faster?
(2) what saves my battery? (probably related to (1))
(3) what's most memory-efficient?
(4) ... what should I use?

My assumptions (I take it, they're likely over-generalized and possibly wrong, 
that's 
why I'm writing them down -- corrected wrong assumptions are better than just 
wrong 
assumptions).

- QPixmap is managed in video memory, what you're dealing with is more or less 
a 
reference to an X pixmap. Painting on a QPixmap means, if done well, that it's 
done 
on the graphicscard. This seems more power-efficient, and faster since we can 
use 
acceleration of the GPU.

- Painting QImages with the raster graphicssystem seems a lot faster because 
the 
raster engine is more optimized and doesn't depend heavily on good quality 
drivers. 
Many people report smoother rendering when using the raster graphicssystem, 
compared 
with the default, "image" graphicssystem. It does, however, everything on the 
CPU, 
which is less ideal for such tasks.

I guess a whole lot of the answer depends on driver quality, so there's 
probably not 
one clear, right answer. Or maybe the real question seems to be: are we writing 
code 
for the ideal system, with well working drivers, or are we writing code that 
will run 
well on what we have now?

Zack, I hope you still haven't torn out all your hair after reading my email. :)

Thanks for your input,
-- 
sebas

http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to