<html>
    <head>
      <base href="https://bugs.documentfoundation.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_UNCONFIRMED "
   title="UNCONFIRMED - Need to apply multiple repeated keystrokes at once when lagging"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=138250">138250</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Need to apply multiple repeated keystrokes at once when lagging
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>LibreOffice
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>UNCONFIRMED
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>LibreOffice
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>libreoffice-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>eyalroz@technion.ac.il
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Description:
Suppose you have some document which is "heavy" to render (because of lots of
complicated content, or because of inefficiencies/other bugs). Specifically,
suppose that the time to render (and otherwise update the app state) takes more
than the time difference between consecutive/repeated keystrokes.

This means that if you press down some key - typically, an arrow key - one of
two things can happen:

1. The app insists on rendering the result of each and every movement; the app
will update/repaint/re-render based on keystrokes farther and farther away in
the past.

2. The app notices it has a sequence of incoming keystrokes (or at least - a
sequence of incoming identical keystrokes) beyond some length. At that point it
collects the result of all of them (or all but the last few) and applies them
altogether, rendering/updating state just once for all of them. This allows
rendering/app state update to catch up with the physical typing.

Currently, and mostly, it seems LO is choosing option (1.) rather than option
(2.) If it were super-fast, then that would be an annoyance only in esoteric
cases; but I get this occasionally - at least with Impress, with Draw and with
Calc.

Steps to Reproduce:
1. Open a slow-rendering document.
2. Move through a "difficult" area in that document using keyboard scrolling

Actual Results:
Rendering as though individual intermittent keystrokes were made; typing in
"runs away" from rendering/updating

Expected Results:
App doesn't let typing "run away" like this.


Reproducible: Always


User Profile Reset: No


OpenGL enabled: Yes

Additional Info:
As explained above - "catch up" to the typing by rendering the effect of
multiple keystrokes together.

A build within which I see this:

Version: 7.0.3.1
Build ID: d7547858d014d4cf69878db179d326fc3483e082
CPU threads: 4; OS: Linux 5.2; UI render: default; VCL: gtk3
Locale: he-IL (en_IL); UI: en-US
Calc: threaded

GLX seems to be enabled. But I'll emphasize that this isn't about a particular
recent version, I've noticed this repeatedly over the years.</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>