aboutsummaryrefslogtreecommitdiffstats
path: root/sway/sway-output.5.scd
diff options
context:
space:
mode:
Diffstat (limited to 'sway/sway-output.5.scd')
-rw-r--r--sway/sway-output.5.scd37
1 files changed, 13 insertions, 24 deletions
diff --git a/sway/sway-output.5.scd b/sway/sway-output.5.scd
index a95cfaa2..69f529fe 100644
--- a/sway/sway-output.5.scd
+++ b/sway/sway-output.5.scd
@@ -117,22 +117,17 @@ must be separated by one space. For example:
117 (ie. blank the screen but keep workspaces as-is), one can set DPMS to off. 117 (ie. blank the screen but keep workspaces as-is), one can set DPMS to off.
118 118
119*output* <name> max_render_time off|<msec> 119*output* <name> max_render_time off|<msec>
120 When set to a positive number of milliseconds, enables delaying output 120 Controls when sway composites the output, as a positive number of
121 rendering to reduce latency. The rendering is delayed in such a way as 121 milliseconds before the next display refresh. A smaller number leads to
122 to leave the specified number of milliseconds before the next 122 fresher composited frames and lower perceived input latency, but if set too
123 presentation for rendering. 123 low, sway may not finish compositing in time for display refresh, leading to
124 124 delayed frames.
125 The output rendering normally takes place immediately after a 125
126 presentation (vblank, buffer flip, etc.) and the frame callbacks are 126 When set to off, sway composites immediately after display refresh,
127 sent to surfaces immediately after the rendering to give surfaces the 127 maximizing time available for compositing.
128 most time to draw their next frame. This results in slightly below 2 128
129 frames of latency between the surface rendering and committing new 129 To adjust when applications are instructed to render, see *max_render_time*
130 contents, and the contents being shown on screen, on average. When the 130 in *sway*(5).
131 output rendering is delayed, the frame callbacks are sent immediately
132 after presentation, and the surfaces have a small timespan (1 /
133 (refresh rate) - max_render_time) to render and commit new contents to
134 be shown on the next presentation, resulting in below 1 frame of
135 latency.
136 131
137 To set this up for optimal latency: 132 To set this up for optimal latency:
138 . Launch some _full-screen_ application that renders continuously, like 133 . Launch some _full-screen_ application that renders continuously, like
@@ -140,14 +135,8 @@ must be separated by one space. For example:
140 . Start with *max_render_time 1*. Increment by *1* if you see frame 135 . Start with *max_render_time 1*. Increment by *1* if you see frame
141 drops. 136 drops.
142 137
143 To achieve even lower latency, see the *max_render_time* surface 138 This setting only has an effect on Wayland and DRM backends, as support for
144 property in *sway*(5). 139 presentation timestamps and predicted output refresh rate is required.
145
146 Note that this property has an effect only on backends which report the
147 presentation timestamp and the predicted output refresh rateā€”the DRM
148 and the Wayland backends. Furthermore, under the Wayland backend the
149 optimal max_render_time value may vary based on the parent compositor
150 rendering timings.
151 140
152*output* <name> adaptive_sync on|off 141*output* <name> adaptive_sync on|off
153 Enables or disables adaptive synchronization (often referred to as Variable 142 Enables or disables adaptive synchronization (often referred to as Variable