Automatic Frame Delay: Fix special overtime edge case (#17013)

This commit is contained in:
sonninnos 2024-09-18 12:45:07 +03:00 committed by GitHub
parent d08b867e7d
commit dbfb88721b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -4174,7 +4174,7 @@ static void video_frame_delay_leftover(video_driver_state_t *video_st,
if (!overtime_count)
frame_time_dev += frame_time - frame_time_target;
/* Increase reserve when doing over time */
/* Increase reserve when doing overtime */
if (frame_time_over && frame_delay_cur)
{
if ( core_run_time >= frame_time_target
@ -4196,6 +4196,8 @@ static void video_frame_delay_leftover(video_driver_state_t *video_st,
if (core_run_time < frame_time_target / 1.5f)
hold_count = refresh_rate * 2;
}
else if (frame_time_over && core_run_time > frame_time_target * 1.5f)
hold_count = refresh_rate;
/* Reserve can't exceed frame time target */
if (video_st->frame_time_reserve > frame_time_target)