[Kst] double buffering
Alexander Semke
Alexander.Semke at web.de
Thu Jan 1 10:26:54 UTC 2015
Hi all,
I'm struggling with a problem in LabPlot since a couple of days and cannot
find a solution for that problem. Since a similar technique is used in kst I'd
like to ask the question here. Maybe somebody has an idea...
In kst, in PlotItem::paint() you paint the pixmap created before with
painter->drawPixmap(rect().topLeft(), _plotPixmap);
In LabPlot, the double-buffering is currently implemented for the xy-curve
only. In XYCurvePrivate::paint() I have
painter->drawPixmap(boundingRectangle.topLeft(), m_pixmap);
Though the curve is (re)painted much faster now, as expected, the quality has
worsen. Please take a look at the pictures attached. I also have to use
painter->setRenderHint(QPainter::SmoothPixmapTransform, true);
Without this hint the quality is even more worse. I suspect the
interpolation/extrapolation from the integer values of the bounding
rectangular and the float numbers of QPixmap's size in QPainter::drawPixmap()
to be responsible for the quality drop. But if this is true, the same problem
should also occur in kst which I don't observe, though. You don't need to use
the SmoothPixmapTransform-hint neither...
Do you have any idea on this issue?
Best regards and happy and productive New Year,
Alexander
-------------- next part --------------
A non-text attachment was scrubbed...
Name: with_double_buffer.jpg
Type: image/jpeg
Size: 51751 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kst/attachments/20150101/729cfaed/attachment-0002.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: without_double_buffer.jpg
Type: image/jpeg
Size: 49964 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kst/attachments/20150101/729cfaed/attachment-0003.jpg>
More information about the Kst
mailing list