<html>
    <head>
      <base href="https://bugs.documentfoundation.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - MacOS: Lots of unresponsiveness (beachballs) when enabling automatic spell checking in a large document"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=120014#c4">Comment # 4</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - MacOS: Lots of unresponsiveness (beachballs) when enabling automatic spell checking in a large document"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=120014">bug 120014</a>
              from <span class="vcard"><a class="email" href="mailto:iplaw67@tuta.io" title="Alex Thurgood <iplaw67@tuta.io>"> <span class="fn">Alex Thurgood</span></a>
</span></b>
        <pre>I had a look at this with Instruments.app, the Apple provided developer tool
and carried out a time profile using an older version of the Writer Guide ODT
as a test document in a non-debug, production release version of LO 6152.

A fairly significant amount of time, when scrolling either with the vertical
document scrollbar or the mouse wheel scroll function, comes from :

+0x160  callq               "PaintHelper::DoPaint(vcl::Region const*)"

which is called several hundred times in certain cases, leading to a time
occupation of several hundred milliseconds.

That call is linked to :


vcl::Window::ImplCallPaint(vcl::Region const*, ImplPaintFlags)

which calls

SwDashedLine::Paint(OutputDevice&, tools::Rectangle const&)

I am enclosing a screenshot of the Instruments.app output zoomed in on an area
of the trace where the processing time caused a noticeable slowdown/lag in
cursor scrolling.

Analysing the functions called in this area of the trace points to the calls I
indicated above.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>