diff options
author | Jeremy Katz <jeremy.katz@nokia.com> | 2010-03-25 14:00:44 (GMT) |
---|---|---|
committer | Jeremy Katz <jeremy.katz@nokia.com> | 2010-03-25 14:00:44 (GMT) |
commit | 2c38550ddb064215f827f856110128f2bb4fd631 (patch) | |
tree | b2096adb4b4979cdb1b7eaff76ecda11aa977d5c /src/plugins/graphicssystems | |
parent | 1bbe84eb729b9b692910720cbf0805c9e485bad0 (diff) | |
download | Qt-2c38550ddb064215f827f856110128f2bb4fd631.zip Qt-2c38550ddb064215f827f856110128f2bb4fd631.tar.gz Qt-2c38550ddb064215f827f856110128f2bb4fd631.tar.bz2 |
don't set composition mode to source when painting the bottow layer
Doing so kills performance on the painting benchmark
Diffstat (limited to 'src/plugins/graphicssystems')
-rw-r--r-- | src/plugins/graphicssystems/fb_base/fb_base.cpp | 5 | ||||
-rw-r--r-- | src/plugins/graphicssystems/linuxfb/qgraphicssystem_linuxfb.cpp | 1 |
2 files changed, 0 insertions, 6 deletions
diff --git a/src/plugins/graphicssystems/fb_base/fb_base.cpp b/src/plugins/graphicssystems/fb_base/fb_base.cpp index c1ce817..d30746a 100644 --- a/src/plugins/graphicssystems/fb_base/fb_base.cpp +++ b/src/plugins/graphicssystems/fb_base/fb_base.cpp @@ -189,9 +189,7 @@ QRegion QGraphicsSystemFbScreen::doRedraw() foreach (QRect rect, intersect.rects()) { bool firstLayer = true; if (layer == -1) { - compositePainter->setCompositionMode(QPainter::CompositionMode_Source); compositePainter->fillRect(rect, Qt::black); - compositePainter->setCompositionMode(QPainter::CompositionMode_SourceOver); firstLayer = false; layer = windowStack.size() - 1; } @@ -204,12 +202,9 @@ QRegion QGraphicsSystemFbScreen::doRedraw() QRect windowRect = windowStack[layerIndex]->geometry(); QRect windowIntersect = rect.translated(-windowRect.left(), -windowRect.top()); - if (firstLayer) - compositePainter->setCompositionMode(QPainter::CompositionMode_Source); compositePainter->drawImage(rect, windowStack[layerIndex]->image(), windowIntersect); if (firstLayer) { - compositePainter->setCompositionMode(QPainter::CompositionMode_SourceOver); firstLayer = false; } } diff --git a/src/plugins/graphicssystems/linuxfb/qgraphicssystem_linuxfb.cpp b/src/plugins/graphicssystems/linuxfb/qgraphicssystem_linuxfb.cpp index 21a5da3..44960bb 100644 --- a/src/plugins/graphicssystems/linuxfb/qgraphicssystem_linuxfb.cpp +++ b/src/plugins/graphicssystems/linuxfb/qgraphicssystem_linuxfb.cpp @@ -846,7 +846,6 @@ QRegion QLinuxFbGraphicsSystemScreen::doRedraw() if (!compositePainter) { compositePainter = new QPainter(mFbScreenImage); - compositePainter->setCompositionMode(QPainter::CompositionMode_Source); } QVector<QRect> rects = touched.rects(); |