Go to file
Rui Matos 1f20e82a96 ui/frames: Simplify client area control computation
Ungrabbed pointer motion events over a client window area don't even
reach mutter in X compositor mode, but as a wayland compositor we
process those events which ends up in a call stack like:

- meta_window_handle_ungrabbed_event
 - meta_ui_frame_handle_event
  - handle_motion_notify_event
   - get_control
    - meta_ui_frame_calc_geometry

Computing frame geometry is a relatively CPU expensive operation and
doing it on every motion event over a client window is pointless work
since we aren't going to change the cursor or prelight any frame
widget.

This commit special cases the determination of
META_FRAME_CONTROL_CLIENT_AREA using a much faster method. When
continuously moving the pointer over an X (client) window, it results
in a ~40% decrease in mutter cpu usage.

https://bugzilla.gnome.org/show_bug.cgi?id=779436
2017-03-02 19:40:27 +01:00
clutter clutter: Force scale=1 in tests/conform 2017-02-17 17:01:57 +01:00
cogl cogl: Read pixels in the correct 32bit format as per the given bitmap 2017-03-01 22:05:19 +01:00
data Use Unicode in translatable strings 2017-02-16 02:44:16 +01:00
doc Remove gtk-doc 2015-07-06 00:52:18 -07:00
po Updated Danish translation 2017-03-02 13:16:55 +01:00
src ui/frames: Simplify client area control computation 2017-03-02 19:40:27 +01:00
tools Clean up the source tree 2014-03-18 20:37:35 -04:00
.gitignore Make libmutter and friends parallel installable 2017-02-14 11:16:45 +08:00
autogen.sh autogen: Drop usage of gnome-common 2017-02-16 16:01:42 +01:00
configure.ac Bump version to 3.23.91 2017-03-01 15:48:06 +01:00
COPYING Updated obsolete FSF postal address in COPYING 2014-01-13 11:35:48 -05:00
Makefile.am Fix the merged build 2016-04-27 20:37:47 +02:00
mutter.doap doap: add <programming-language> 2014-07-31 17:50:28 +02:00
NEWS Bump version to 3.23.91 2017-03-01 15:48:06 +01:00