Re: Low Latency User Input

Hi Carl,

Thanks again for taking the time to outline the issues. I’ve proposed this as a topic for the upcoming W3C Breakout day (12th of March):
https://github.com/w3c/breakouts-day-2024/issues/2

Details for the W3C Breakout day are here:
https://github.com/w3c/breakouts-day-2024

Hopefully we can get the right folks in a virtual room to discuss some options and a path forward. 

Kind regards,
Marcos 

> On Dec 9, 2023, at 13:51, Carl Younger <carl.joseph.younger@gmail.com> wrote:
> 
> Hey guys,
> 
> Despite many advances in recent years, the Web remains a poor choice of platform for any application that depends on responding to user input with low latency.
> 
> The APIs that handle user input (keyboard, pointer, gamepad, HID, USB, MIDI, Bluetooth, serial etc) generally require registering handlers on the main thread. As the main thread is often busy, handlers cannot (reliably and consistently) respond to input with low enough latency for certain applications.
> 
> Affected applications include any video game that demands precise inputs (which is a large subset), pretty much all DAWs and synthesizers, as well as art programs that use touch gestures to emulate brushstrokes etc.
> 
> The situation might be improved somewhat by extending input APIs to include timestamps, but exposing the APIs to Web Workers is a much better solution.
> 
> Some of the input APIs can extend their spec to support workers relatively easily, and there has been some progress there already (including some implementation). Other APIs are more problematic. For example, keyboard and pointer events are part of the DOM API, which marries them to the main thread.
> 
> I recently discussed all this with Marcos Cáceres (and others). Marcos advised me to contact this mailing list, as I feel that these issues will require a macroscopic perspective (beyond the scope of any specific API) and a substantial community effort to address.
> 
> Thank you for taking the time to consider my post.
> Much appreciated -- Carl
> 
> The original conversation: github.com/w3c/gamepad/issues/37

Received on Tuesday, 16 January 2024 00:47:26 UTC