diff options
author | Uli Schlachter <psychon@znc.in> | 2018-04-15 10:43:25 +0200 |
---|---|---|
committer | Uli Schlachter <psychon@znc.in> | 2018-04-15 11:07:31 +0200 |
commit | e79d924588523732d13b582a46962246c8a9670d (patch) | |
tree | 020a27e79253fc18d03738d53b3abdbfb4d06cb5 /backend | |
parent | 52b058c2a31fbcd3014c63506eaa8aff25606bed (diff) |
x11 backend: Ignore expose if frame is pending
When resizing rootston with the mouse, the result is really slow. One
can see that rootston needs quite a while for drawing the newly visible
area. This is because every single expose event is handled on its own
and causes (apparently) a full repaint or at least a swap.
This commit improves things by only causing a new frame if none is
pending already.
With this change, there is almost no delay in rootston drawing the newly
visible area.
Signed-off-by: Uli Schlachter <psychon@znc.in>
Diffstat (limited to 'backend')
-rw-r--r-- | backend/x11/backend.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/backend/x11/backend.c b/backend/x11/backend.c index 768d00f7..089b3822 100644 --- a/backend/x11/backend.c +++ b/backend/x11/backend.c @@ -74,7 +74,7 @@ static void handle_x11_event(struct wlr_x11_backend *x11, xcb_expose_event_t *ev = (xcb_expose_event_t *)event; struct wlr_x11_output *output = x11_output_from_window_id(x11, ev->window); - if (output != NULL) { + if (output != NULL && !output->wlr_output.frame_pending) { wlr_output_send_frame(&output->wlr_output); } break; |