summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--video/out/vo.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/video/out/vo.c b/video/out/vo.c
index 68aff6eccb..27be4735ab 100644
--- a/video/out/vo.c
+++ b/video/out/vo.c
@@ -939,9 +939,9 @@ static bool render_frame(struct vo *vo)
in->hasframe_rendered = true;
int64_t prev_drop_count = vo->in->drop_count;
// Can the core queue new video now? Non-display-sync uses a separate
- // timer instead.
- bool can_queue =
- !in->frame_queued && in->current_frame->num_vsyncs < 1 && use_vsync;
+ // timer instead, but possibly benefits from preparing a frame early.
+ bool can_queue = !in->frame_queued &&
+ (in->current_frame->num_vsyncs < 1 || !use_vsync);
pthread_mutex_unlock(&in->lock);
if (can_queue)