diff --git a/video/out/vo_gpu_next.c b/video/out/vo_gpu_next.c index 44b16638b1..8a5f078939 100644 --- a/video/out/vo_gpu_next.c +++ b/video/out/vo_gpu_next.c @@ -732,7 +732,9 @@ static void draw_frame(struct vo *vo, struct vo_frame *frame) } #if PL_API_VER >= 179 - p->params.skip_caching_single_frame = !frame->display_synced || frame->num_vsyncs == 1; + bool will_redraw = frame->display_synced && frame->num_vsyncs > 1; + bool cache_frame = will_redraw || frame->still; + p->params.skip_caching_single_frame = !cache_frame; #endif p->params.preserve_mixing_cache = p->inter_preserve && !frame->still; p->params.allow_delayed_peak_detect = p->delayed_peak;