mirror of
https://github.com/MCKero6423/uv-k5-v3-emulator.git
synced 2026-10-03 11:37:32 +00:00
/stream and /frame.png now read the pump's shared buffer. A slow client falls behind in frames rather than in QMP reads, and reconnects no longer multiply the load on the emulator. /frame.png returns 503 when there is no frame rather than raising, because that is a real state: the emulator can be powered off and the page still has to load. The same reason create_app now tolerates client=None. Measured on the live server with 4 concurrent streams, which is what a reconnecting browser produces: keypress latency went from 6 ms avg to 5 ms, so -1 ms, i.e. noise. All four clients received the same ~27 frames. /stream first byte in 4 ms. Note this rules out my earlier guess: I had assumed concurrent streams were starving keypresses, and the numbers said otherwise both before and after. The pump is worth having for constant QMP load, not because contention was the slowness.