Repository navigation
v3.1.1 — instant replay stops restarting itself
Instant replay no longer stalls and restarts itself — in VR every few seconds, and now and then on
an ordinary desktop.
A recorder that keeps recording
The graphics card's encoder takes frames one at a time, and it asks for each one. Clipper was
occasionally missing that request: it arrived at the exact moment Clipper was busy collecting the
previous frame, and was thrown away. The encoder never asks twice, so it sat waiting for a frame
that never came. Five seconds later Clipper noticed nothing was being recorded and started the
recorder over — and everything already in the replay buffer went with it.
How often that happened came down to timing. A graphics card working flat out makes it much more
likely, which is why a VR game could restart the recorder every few seconds. It could also happen
at random on a quiet desktop, or right after the recorder started.
Now a request that arrives at that moment is kept and used for the next frame. Measured with the
same settings, starting the recorder over and over: the previous version stalled in 4 of 10 starts,
this one in none of 16. It costs nothing — no extra work per frame.
If the recorder ever does restart, its log (%LOCALAPPDATA%\clipper\capture.log) now shows how
many frames the encoder asked for against how many it was given, so the cause shows up in the
log itself.