Bug 1734705 Comment 4 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Steps to reproduce:

 1. In a fresh profile, enable devtools.chrome.enabled.
 2. Open the browser console.
 3. Paste the following and press enter:

```js
var geckoEventLoopClogger = (function () {
  let messageName = 'ping-pong';
  let workerJs = `
    onmessage = e => {
      postMessage(e.data);
    };
  `;
  let blobUrl = URL.createObjectURL(new Blob([workerJs]));
  let worker;
  function handleMessage(event) {
    let startTime = performance.now();
    while (performance.now() - startTime < 14) {}
    worker.postMessage(event.data);
  }
  function start() {
    if (worker) {
      stop();
    }
    worker = new Worker(blobUrl);
    worker.addEventListener('message', handleMessage);
    worker.postMessage('ping-pong');
  }
  function stop() {
    if (!worker) {
      return;
    }
    worker.removeEventListener('message', handleMessage);
    worker.terminate();
    worker = undefined;
  }

  return { start, stop };
})();
```

 4. Type `geckoEventLoopClogger.start()` and press enter.
 5. In the main browser window, scroll with the touchpad or the magic mouse, up and down, continuously.
 6. On the browser console, execute `geckoEventLoopClogger.stop()`

Expected results:
Scrolling should be responsive and not lag very far behind.

Actual results:
Scrolling feels very sluggish and falls behind more and more.

Profile before bug 1690687 (build 2021-09-05): https://share.firefox.dev/3AoLWp3
Profile after bug 1690687 (build 2021-09-08: https://share.firefox.dev/2WZWWvu
Steps to reproduce:

 1. In a fresh profile, enable devtools.chrome.enabled.
 2. Open the browser console.
 3. Paste the following and press enter:

```js
var geckoEventLoopClogger = (function () {
  let messageName = 'ping-pong';
  let workerJs = `
    onmessage = e => {
      postMessage(e.data);
    };
  `;
  let blobUrl = URL.createObjectURL(new Blob([workerJs]));
  let worker;
  function handleMessage(event) {
    let startTime = performance.now();
    while (performance.now() - startTime < 14) {}
    worker.postMessage(event.data);
  }
  function start() {
    if (worker) {
      stop();
    }
    worker = new Worker(blobUrl);
    worker.addEventListener('message', handleMessage);
    worker.postMessage('ping-pong');
  }
  function stop() {
    if (!worker) {
      return;
    }
    worker.removeEventListener('message', handleMessage);
    worker.terminate();
    worker = undefined;
  }

  return { start, stop };
})();
```

 4. Type `geckoEventLoopClogger.start()` and press enter.
 5. In the main browser window, scroll with the touchpad or the magic mouse, up and down, continuously.
 6. On the browser console, execute `geckoEventLoopClogger.stop()`

Expected results:
Scrolling should be responsive and not lag very far behind.

Actual results:
Scrolling feels very sluggish and falls behind more and more.

Profile before bug 1690687 (build 2021-09-05): https://share.firefox.dev/3AoLWp3
Profile after bug 1690687 (build 2021-09-08): https://share.firefox.dev/2WZWWvu

Back to Bug 1734705 Comment 4