-
Notifications
You must be signed in to change notification settings - Fork 9
Suggestion: real-time transport mode (AsyncApi?) #55
Description
Just to provide some extra context and avoid misunderstanding: this suggestion concerns high frequency updates of graphics properties while it's on air and if OGraf should play a role here.
Last meeting got me thinking... @axelboberg raised a very interesting point about transport, whether we have ever considered using WebSockets. Generally, HTTP/3 (using QUIC, based on UDP) should provide a boost in performance over 'traditional' HTTP over TCP, with only one round-trip for the handshake and lost packets being non-blocking. However... Have we ever benchmarked this, especially for high framerate scenarios?
Should the need arise for low-latency communication, would it be an idea to adopt AsyncApi, but using the OpenApi schema? See: https://www.asyncapi.com/docs/tutorials/getting-started/coming-from-openapi, they seem quite clear about this:
AsyncAPI is compatible with OpenAPI schemas.
Perhaps this is a nice performance profiling/benchmark task, a cross-comparison of framerates and transport modes:
- Framerates: 23.976, 25fps, 29.97fps, 30fps, 50fpx, 59.94fps, 60fps, 120fps
- Transport: REST over HTTP/2 (TCP), REST over HTTP/3 (QUIC/UDP), WebSockets (TCP), WebTransport (HTTP/3)
Would love to hear your input! Let's get technical 🤓