Tweak the margin value of QOutlineMapper clip rect

The original change was introduced to fix performance regression due to
the increased value of QT_RASTER_COORD_LIMIT. The optimization was done
by clipping anything outside the device rect plus a small margin.
However, setting the margin to a small value caused a regression, where the
rasterization became slightly different from the previous implementation.

Fixes: QTBUG-123054
Pick-to: 6.5 6.2
Change-Id: Ic4fddea89cd5f6e5760dc4a91b1f2f59527e8e5c
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
(cherry picked from commit aabb133d07ff99157ae2070e16594eba035cca08)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Hatem ElKharashy 2024-04-10 16:38:56 +03:00 committed by Qt Cherry-pick Bot
parent ba94dc0ce6
commit 8aae3bd438

View File

@ -50,7 +50,7 @@ void QOutlineMapper::setClipRect(QRect clipRect)
if (clipRect != m_clip_rect) {
m_clip_rect = limitCoords(clipRect);
const int mw = 64; // margin width. No need to trigger clipping for slight overshooting
const int mw = 1 << 10; // margin width. No need to trigger clipping for slight overshooting
m_clip_trigger_rect = QRectF(limitCoords(m_clip_rect.adjusted(-mw, -mw, mw, mw)));
}
}