https://bugs.kde.org/show_bug.cgi?id=476300

--- Comment #6 from Lynx3d <lynx.mw+...@gmail.com> ---
I'm afraid It does not work very well for me, small brushes like a pencil for
sketching are still pretty much disappearing completely when moving a bit
faster. That's really really not very nice when working with a screenless
tablet.
(Btw. "Rulers Track Pointer" still hurts cursor smoothness for me and makes the
movement guessing even less effective).

>From what I understand, only pushing the update rect through Qt once when the
framerate limiter kicks off a new frame is not enough when we use
QWidget::update(...) rather than the immediate repaint(...), as Qt will process
further events until it decides it's time to refresh.

Apparently you can fix the issue by calling QWidget::update(dirty_rect) again
each time the tool outline has changed,
adding a
"m_d->canvasWidget->updateCanvasDecorations(m_d->savedOverlayUpdateRect);" to 
KisCanvas2::updateCanvasToolOutlineWdg() seems to work.
Though Qt has to assume the previously passed areas are still relevant when in
fact the cursor will never be painted at those previous positions. And you'd
need to to do extra state tracking to not break the frame rate limiter.
Thinking about it, why do we even compute brush outlines that never get
rendered...

To be honest, I think we should just drop the Qt patch for tracking partial
updates and simply keep the the dirty area in the canvas widget, seems simpler
and less overhead...unless someone really manages to optimize compositing in
the Qt backend.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to