options: enable use-damage by default
Since user reports indicate it has real performance benefits. Also add a command line flag for turning use-damage off. Fixes #242 Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
parent
a69ed89114
commit
93f0d80572
|
@ -235,8 +235,8 @@ May also be one of the predefined kernels: `3x3box` (default), `5x5box`, `7x7box
|
||||||
*--glx-no-rebind-pixmap*::
|
*--glx-no-rebind-pixmap*::
|
||||||
GLX backend: Avoid rebinding pixmap on window damage. Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.). Recommended if it works.
|
GLX backend: Avoid rebinding pixmap on window damage. Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.). Recommended if it works.
|
||||||
|
|
||||||
*--use-damage*::
|
*--no-use-damage*::
|
||||||
Use the damage information to limit rendering to parts of the screen that has actually changed. Potentially improves the performance.
|
Disable the use of damage information. This cause the whole screen to be redrawn everytime, instead of the part of the screen has actually changed. Potentially degrades the performance, but might fix some artifacts.
|
||||||
|
|
||||||
*--xrender-sync-fence*::
|
*--xrender-sync-fence*::
|
||||||
Use X Sync fence to sync clients' draw calls, to make sure all draw calls are finished before compton starts drawing. Needed on nvidia-drivers with GLX backend for some users.
|
Use X Sync fence to sync clients' draw calls, to make sure all draw calls are finished before compton starts drawing. Needed on nvidia-drivers with GLX backend for some users.
|
||||||
|
|
|
@ -513,6 +513,7 @@ char *parse_config(options_t *opt, const char *config_file, bool *shadow_enable,
|
||||||
|
|
||||||
.refresh_rate = 0,
|
.refresh_rate = 0,
|
||||||
.sw_opti = false,
|
.sw_opti = false,
|
||||||
|
.use_damage = true,
|
||||||
|
|
||||||
.shadow_red = 0.0,
|
.shadow_red = 0.0,
|
||||||
.shadow_green = 0.0,
|
.shadow_green = 0.0,
|
||||||
|
|
|
@ -283,9 +283,11 @@ static void usage(int ret) {
|
||||||
" known to break things on some drivers (LLVMpipe, xf86-video-intel,\n"
|
" known to break things on some drivers (LLVMpipe, xf86-video-intel,\n"
|
||||||
" etc.).\n"
|
" etc.).\n"
|
||||||
"\n"
|
"\n"
|
||||||
"--use-damage\n"
|
"--no-use-damage\n"
|
||||||
" Use the damage information to limit rendering to parts of the screen\n"
|
" Disable the use of damage information. This cause the whole screen to\n"
|
||||||
" that has actually changed. Potentially improves the performance.\n"
|
" be redrawn everytime, instead of the part of the screen that has\n"
|
||||||
|
" actually changed. Potentially degrades the performance, but might fix\n"
|
||||||
|
" some artifacts.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"--xrender-sync-fence\n"
|
"--xrender-sync-fence\n"
|
||||||
" Additionally use X Sync fence to sync clients' draw calls. Needed\n"
|
" Additionally use X Sync fence to sync clients' draw calls. Needed\n"
|
||||||
|
@ -412,6 +414,7 @@ static const struct option longopts[] = {
|
||||||
{"log-level", required_argument, NULL, 321},
|
{"log-level", required_argument, NULL, 321},
|
||||||
{"log-file", required_argument, NULL, 322},
|
{"log-file", required_argument, NULL, 322},
|
||||||
{"use-damage", no_argument, NULL, 323},
|
{"use-damage", no_argument, NULL, 323},
|
||||||
|
{"no-use-damage", no_argument, NULL, 324},
|
||||||
{"experimental-backends", no_argument, NULL, 733},
|
{"experimental-backends", no_argument, NULL, 733},
|
||||||
{"monitor-repaint", no_argument, NULL, 800},
|
{"monitor-repaint", no_argument, NULL, 800},
|
||||||
{"diagnostics", no_argument, NULL, 801},
|
{"diagnostics", no_argument, NULL, 801},
|
||||||
|
@ -782,6 +785,9 @@ void get_cfg(options_t *opt, int argc, char *const *argv, bool shadow_enable,
|
||||||
}
|
}
|
||||||
P_CASEBOOL(319, no_x_selection);
|
P_CASEBOOL(319, no_x_selection);
|
||||||
P_CASEBOOL(323, use_damage);
|
P_CASEBOOL(323, use_damage);
|
||||||
|
case 324:
|
||||||
|
opt->use_damage = false;
|
||||||
|
break;
|
||||||
P_CASEBOOL(733, experimental_backends);
|
P_CASEBOOL(733, experimental_backends);
|
||||||
P_CASEBOOL(800, monitor_repaint);
|
P_CASEBOOL(800, monitor_repaint);
|
||||||
case 801: opt->print_diagnostics = true; break;
|
case 801: opt->print_diagnostics = true; break;
|
||||||
|
|
Loading…
Reference in New Issue