This repository demonstrates a bug with Chromium.
- Clone the repository:
$ git clone https://github.com/v5p/mouse-freeze-bug.git
> Cloning into mouse-freeze-bug...
$ cd mouse-freeze-bug
- Install dependencies
$ npm install
- Test unlimited FPS
This will start Electron with the disable-frame-rate-limit
switch and navigate to the local webserver.
$ npm run electron-unlocked
To verify this bug is present:
- Drag your mouse anywhere across the window
- WebSocket and Worker messaging should spike in latency (time it took for the main renderer thread to receive the message)
- Test limited FPS
This will start Electron with no additional switches and navigate to the local webserver.
$ npm run electron
To verify this bug is no longer as intense:
- Drag your mouse anywhere across the window
- WebSocket and Worker messaging should only slightly increase in latency
- Clone the repository:
$ git clone https://github.com/v5p/mouse-freeze-bug.git
> Cloning into mouse-freeze-bug...
$ cd mouse-freeze-bug
- Install dependencies
$ npm install
- Start the HTTP/WebSocket server
$ npm start
- Test unlimited FPS
Start Chromium the disable-frame-rate-limit
switch and navigate to http://localhost:8080/.
$ chromium-browser --disable-frame-rate-limit http://localhost:8080/
To verify this bug is present:
- Drag your mouse anywhere across the window
- Both WebSocket and Worker messaging should spike in latency (time it took for the main renderer thread to receive the message)
- Test limited FPS
Start Chromium with no switches and navigate to http://localhost:8080/.
$ chromium-browser http://localhost:8080/
To verify this bug is no longer as intense:
- Drag your mouse anywhere across the window
- Both WebSocket and Worker messaging should only slightly increase in latency
- not present in <= Electron V9 or <= Chromium 83.0.4103.122 (
npm install electron@9
) - forced the Krunker developers to lock the Electron dependency to version 9
- earliest Chrome version where this occurs is currently unknown