mpv/video/out/vulkan
Dudemanguy deaea70630 wayland: be less strict about when to render
efb0c5c changed the rendering logic of mpv on wayland and made it skip
rendering when it did not receive frame callback in time. The idea was
to skip rendering when the surface was hidden and be less wasteful. This
unfortunately had issues in certain instances where a frame callback
could be missed (but the window was still in view) due to imprecise
rendering (like the default audio video-sync mode). This would lead to
the video appearing to stutter since mpv would skip rendering in those
cases.

To account for this case, simply re-add an old heuristic for detecting
if a window is hidden or not since the goal is to simply not render when
a window is hidden. If the wait on the frame callback times out enough
times in a row, then we consider the window hidden and thus begin to
skip rendering then. The actual threshold to consider a surface as
hidden is completely arbitrary (greater than your monitor's refresh
rate), but it's safe enough since realistically you're not going to miss
60+ frame callbacks in a row unless the surface actually is hidden.
Fixes #8169.
2020-10-15 13:36:49 +00:00
..
common.h vo_gpu: vulkan: use libplacebo instead 2019-04-21 23:55:22 +03:00
context.c wayland: only render if we have frame callback 2020-09-21 20:42:17 +00:00
context.h wayland: only render if we have frame callback 2020-09-21 20:42:17 +00:00
context_android.c wayland: use callback flag + poll for buffer swap 2019-10-10 17:41:19 +00:00
context_wayland.c wayland: be less strict about when to render 2020-10-15 13:36:49 +00:00
context_win.c wayland: use callback flag + poll for buffer swap 2019-10-10 17:41:19 +00:00
context_xlib.c wayland: use callback flag + poll for buffer swap 2019-10-10 17:41:19 +00:00
utils.c vo_gpu: vulkan: print libplacebo API ver 2020-07-16 09:41:09 +02:00
utils.h vo_gpu: vulkan: use libplacebo instead 2019-04-21 23:55:22 +03:00