Alex Forrence
email: [email protected]
For this project, I improved presentation latency in Chrome on Windows by introducing waitable swap chains. Waitable swap chains allow us to both reduce latency by shortening the queue of pending frames and aligning frame production for optimal consumption by the operating system, and reduce latency spikes by dropping frames under load.
https://docs.google.com/document/d/186jZ_FqFgvgq6l3dRNHbzoREP2RdN2hicb143m45xko/edit?usp=sharing
In order to directly measure the presentation latency, I developed a microcontroller-based platform. The platform uses the WebHID API to communicate the onset of drawing within requestAnimationFrame
callbacks to the microcontroller, which records the physical state of the screen with a phototransistor.
https://github.com/aforren1/chrome-lag-test (code)
https://aforren1.github.io/chrome-lag-test/index.md.html (documentation)
- https://chromium-review.googlesource.com/c/chromium/src/+/3731607 (merged)
- Added the initial feature flags
- https://chromium-review.googlesource.com/c/chromium/src/+/3867978 (under review as of Sep 11)
- Initial implementation of waitable swap chains as part of the asynchronous swap buffers path.