Message reordering for latency reduction
The most pressing use case for this is the callback for wl_surface.frame
, which is, to quote the documentation, "A notification when it is a good time to start drawing a new frame, by creating a frame callback." With a remote application using waypipe
, this callback is effectively delayed by twice the connection latency -- once for the delay in sending the wl_surface.commit
message immediately after wl_surface.frame
, and once for the reverse path with wl_callback.done
. In theory, the local instance of waypipe could spoof the wl_callback.done
event to occur e.g. within 20ms at latest of the wl_surface.commit
request.