History

osc.lua: add option to make rendering smoother

OSC rendering used to be smooth (up to OSD rendering fps) before 48f906249ef359c66fc6c5bf4cc5885c8293bf8e, but after that commit the frame duration is hardcoded to 30 ms. This is too high and results in choppy OSC rendering, which is very noticeable with the progress bar while moving mouse over it or playing a short 60 fps video. This makes the duration an option so that it can be decreased to make OSC rendering smoother.

nanahi committed 2 years ago

Commit 6337bc21 parent c55ff412 files · +11 −2Browse files

Unified · Split

2 files
  1. DOCS/man/osc.rst +6 −0
  2. player/lua/osc.lua +5 −2
DOCS/man/osc.rst+6−0
@@ -472,6 +472,12 @@ Configurable Options · 471 unmodified lines
472472
473473 Sets the colors of the elements that are being pressed or held down.
474474
475+``tick_delay``
476+ Default: 1/60
477+
478+ Sets the minimum interval between OSC redraws in seconds. This can be
479+ decreased on fast systems to make OSC rendering smoother.
480+
475481
476482 Script Commands
477483 ~~~~~~~~~~~~~~~
player/lua/osc.lua+5−2
@@ -69,7 +69,9 @@ local user_opts = { · 68 unmodified lines
6969 top_buttons_color = "#FFFFFF", -- color of top buttons
7070 held_element_color = "#999999", -- color of an element while held down
7171
72− time_pos_outline_color = "#000000" -- color of the border timecodes in slimbox and TimePosBar
72+ time_pos_outline_color = "#000000", -- color of the border timecodes in slimbox and TimePosBar
73+
74+ tick_delay = 1 / 60, -- minimum interval between OSC redraws in seconds
7375 }
7476
7577 local osc_param = { -- calculated by osc_init()
@@ -90,7 +92,7 @@ local margins_opts = { · 14 unmodified lines
9092 {"b", "video-margin-ratio-bottom"},
9193 }
9294
93−local tick_delay = 0.03
95+local tick_delay = 1 / 60
9496 local tracks_osc = {}
9597 local tracks_mpv = {}
9698 local window_control_box_width = 80
@@ -2980,6 +2982,7 @@ end · 2883 unmodified lines
29802982 opt.read_options(user_opts, "osc", function()
29812983 validate_user_opts()
29822984 set_osc_styles()
2985+ tick_delay = user_opts.tick_delay
29832986 request_tick()
29842987 visibility_mode(user_opts.visibility, true)
29852988 update_duration_watch()

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t