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

Patrick Luby (volunteer) <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|[email protected] |[email protected]
                   |desktop.org                 |

--- Comment #12 from Patrick Luby (volunteer) <[email protected]> ---
So I have narrowed down where the bottleneck is: it is in the
ViewObjectContactPrimitiveHit() function. In the attached CPU Profile, I
noticed that ViewObjectContactPrimitiveHit() actually forces a redraw of the
image which seems odd to me when the function name implies that we are just
"hit testing" (i.e. finding which visual object is at a specific location).

Skipping ViewObjectContactPrimitiveHit() in the following debug patch
eliminates the forced redrawing and I see no longer see any pause in the image
animation with Skia/Raster, even when continuously moving the mouse within the
image.

So, next step is to figure out how to get the code to not redraw the image
during a hit testing:


diff --git a/svx/source/svdraw/sdrhittesthelper.cxx
b/svx/source/svdraw/sdrhittesthelper.cxx
index 9dc3b9118f07..45feaafac46f 100644
--- a/svx/source/svdraw/sdrhittesthelper.cxx
+++ b/svx/source/svdraw/sdrhittesthelper.cxx
@@ -77,10 +77,15 @@ SdrObject* SdrObjectPrimitiveHit(
                     const sdr::contact::ViewObjectContact& rVOC =
rObject.GetViewContact().GetViewObjectContact(
                         rSdrPageView.GetPageWindow(0)->GetObjectContact());

+(void)aHitPosition;
+(void)rVOC;
+(void)pHitContainer;
+#if 0
                     if(ViewObjectContactPrimitiveHit(rVOC, aHitPosition,
rHitTolerance, bTextOnly, pHitContainer))
                     {
                           pResult = const_cast< SdrObject* >(&rObject);
                     }
+#endif
                 }
             }
         }

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

Reply via email to