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