https://bugs.documentfoundation.org/show_bug.cgi?id=158397

--- Comment #17 from Patrick Luby (volunteer) <[email protected]> ---
I have now determined that this is a cross-platform bug. The only reason that
it is seen on macOS is because, with a Retina display, all LibreOffice
offscreen drawing surfaces hold 4 subpixels for every pixel. By running from
the Terminal with the following environment variable, the problem disappears
and, with Skia/Raster, I only see a slight pause in the animation when moving
the mouse over the .gif image.

The real problem is in the drawinglayer module. From the following debug patch,
it is clear to me that drawinglayer::processor2d::HitTestProcessor2D::process()
actually redraws the entire image object on every single mouse event (click or
move) which, seems very strange when the code in the following debug patch is
just trying to do a hit test.

I don't have much experience with the drawinglayer module and time is very
limited for me so I won't be able to fix this bug:

diff --git a/svx/source/svdraw/sdrhittesthelper.cxx
b/svx/source/svdraw/sdrhittesthelper.cxx
index 9dc3b9118f07..57680d02f27c 100644
--- a/svx/source/svdraw/sdrhittesthelper.cxx
+++ b/svx/source/svdraw/sdrhittesthelper.cxx
@@ -152,7 +152,7 @@ bool ViewObjectContactPrimitiveHit(
                 aHitTestProcessor2D.collectHitStack(pHitContainer != nullptr);

                 // feed it with the primitives
-                aHitTestProcessor2D.process(aSequence);
+                // aHitTestProcessor2D.process(aSequence);

                 // deliver result
                 if (aHitTestProcessor2D.getHit())

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to