gnome-shell/src
Ivan Molodetskikh 83564e59b3 workspace: Port WorkspaceBackground allocate to C
WorkspaceBackground's allocate is a hot function called every frame
during overview animations. Port it to C.

While we're at it, cache the work area and the monitor geometry, which
do not need to be re-fetched on every allocation.

This reduces the average WorkspaceBackground allocation time from
0.134 ms to 0.017 ms. With four workspaces, scrolling the overview sees
an average WorkspacesView allocation time improvement from
1.104 ms to 0.678 ms.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2394>
2022-08-03 12:30:31 +00:00
..
calendar-server calendar-server: Read timezone from the calendar, not its timezone cache 2022-02-03 17:18:48 +00:00
hotplug-sniffer hotplug-sniffer: Drop "volatile" from g_once_init_enter() sentinels 2021-03-22 11:12:23 +00:00
st st: Only notify on property changes 2022-06-08 14:16:28 +00:00
tray *: Fix spelling mistakes found by codespell 2020-08-21 18:25:09 +00:00
data-to-c.pl build: Fix the path of perl for data-to-c.pl 2015-05-22 19:03:44 +08:00
gnome-shell-extension-prefs Add small gnome-shell-extension-prefs script 2020-04-28 00:06:19 +02:00
gnome-shell-extension-tool.in shell-extension-tool: Fix typo 2019-08-27 12:16:27 +03:00
gnome-shell-perf-tool.in *: Fix spelling mistakes found by codespell 2020-08-21 18:25:09 +00:00
gnome-shell-plugin.c init: Set console log domain 2021-09-01 14:55:47 +00:00
gnome-shell-portal-helper.c build: Don't modify typelib search path in tools 2018-08-14 17:28:03 +00:00
gtkactionmuxer.c Stop using GSlice 2020-10-19 20:18:11 +02:00
gtkactionmuxer.h Also update gtkaction* 2014-01-09 14:59:31 -05:00
gtkactionobservable.c Update copy/paste code from upstream 2013-05-13 18:34:26 -04:00
gtkactionobservable.h Update copy/paste code from upstream 2013-05-13 18:34:26 -04:00
gtkactionobserver.c Also update gtkaction* 2014-01-09 14:59:31 -05:00
gtkactionobserver.h Also update gtkaction* 2014-01-09 14:59:31 -05:00
main.c main: Define a custom log writer to dump on structured messages 2022-07-06 17:14:56 +00:00
meson.build workspace: Port WorkspaceBackground allocate to C 2022-08-03 12:30:31 +00:00
org.gtk.Application.xml Generate GDBus proxy object for org.gtk.Application 2014-11-27 10:59:55 +00:00
run-js-test.c tests: Don't initialize Clutter 2019-08-27 15:30:51 +03:00
shell-action-modes.h *: Fix spelling mistakes found by codespell 2020-08-21 18:25:09 +00:00
shell-app-cache-private.h app-cache: add ShellAppCache for GAppInfo caching 2020-03-11 18:06:15 -07:00
shell-app-cache.c Stop using GSlice 2020-10-19 20:18:11 +02:00
shell-app-private.h shell: Use MetaStartupNotification 2018-11-23 13:58:35 +01:00
shell-app-system-private.h apps: Ensure running apps override new .desktop file data 2011-09-05 17:29:41 -04:00
shell-app-system.c app-cache: add ShellAppCache for GAppInfo caching 2020-03-11 18:06:15 -07:00
shell-app-system.h shell-app-system: Cache GAppInfos around 2019-01-26 22:55:31 +01:00
shell-app-usage.c cleanup: Use g_clear_handle_id() for g_source_remove() 2019-11-22 01:45:25 +01:00
shell-app-usage.h app-usage: Remove crufty old "context"s idea 2018-11-17 12:08:33 +00:00
shell-app.c shell/app: Fix small memory leak in get_pids() 2022-07-06 18:13:46 +00:00
shell-app.h shell/app: Add new get_icon() method 2020-07-01 12:42:57 +02:00
shell-blur-effect.c shell: Specify G_PARAM_EXPLICIT_NOTIFY where appropriate 2022-02-10 13:09:37 +00:00
shell-blur-effect.h blur-effect: Use sigma value instead of blur radius 2020-02-12 11:10:38 -03:00
shell-embedded-window-private.h shell-embedded-window: Remove hacks for old and fixed Clutter bug 2012-07-13 17:28:50 -04:00
shell-embedded-window.c shell: Drop dependency on ClutterX11 headers/gir 2021-06-29 22:47:41 +00:00
shell-embedded-window.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-global-private.h locatePointer: Add implementation in gnome-shell 2019-06-05 08:15:10 +00:00
shell-global.c Add shell_global_get_workspace_manager () 2022-08-03 12:30:31 +00:00
shell-global.h Add shell_global_get_workspace_manager () 2022-08-03 12:30:31 +00:00
shell-glsl-effect.c glsl-effect: Allow to set uniform matrices 2022-02-08 21:55:31 +01:00
shell-glsl-effect.h glsl-effect: Allow to set uniform matrices 2022-02-08 21:55:31 +01:00
shell-gtk-embed.c Remove ClutterAllocationFlags 2020-05-20 15:12:03 +02:00
shell-gtk-embed.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-invert-lightness-effect.c Always assume GLSL is supported 2021-09-21 16:37:01 +02:00
shell-invert-lightness-effect.h shell: Define COGL_ENABLE_EXPERIMENTAL_API and related defines globally 2014-08-07 14:49:54 -04:00
shell-keyring-prompt.c build: Port to gcr4 2022-08-02 16:13:54 +00:00
shell-keyring-prompt.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-mount-operation.c *: Fix spelling mistakes found by codespell 2020-08-21 18:25:09 +00:00
shell-mount-operation.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-network-agent.c shell/network-agent: Add method to add VPN secrets to agent response 2020-12-25 11:43:13 +01:00
shell-network-agent.h shell/network-agent: Add method to add VPN secrets to agent response 2020-12-25 11:43:13 +01:00
shell-perf-helper.c perf-helper: Remove unused atoms 2019-12-05 16:51:00 +01:00
shell-perf-log.c src/shell: Plug some small leaks 2021-08-13 15:16:54 +02:00
shell-perf-log.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-polkit-authentication-agent.c src: Stop using g_get_current_time() 2019-08-09 19:22:18 +00:00
shell-polkit-authentication-agent.h build: Do not redefine polkit autocleanup 2022-05-17 14:04:01 +00:00
shell-screenshot.c screenshot-ui: Use ImageContent for notification icon 2022-01-27 22:25:42 +00:00
shell-screenshot.h screenshot-ui: Use ImageContent for notification icon 2022-01-27 22:25:42 +00:00
shell-secure-text-buffer.c build: Port to gcr4 2022-08-02 16:13:54 +00:00
shell-secure-text-buffer.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-square-bin.c iconGrid: Subclass a C actor for BaseIcon 2021-03-13 22:13:25 +00:00
shell-square-bin.h iconGrid: Subclass a C actor for BaseIcon 2021-03-13 22:13:25 +00:00
shell-stack.c Remove ClutterAllocationFlags 2020-05-20 15:12:03 +02:00
shell-stack.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-tray-icon.c Ensure G_PARAM_STATIC_STRINGS for all properties 2019-07-30 13:58:44 +00:00
shell-tray-icon.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-tray-manager.c shell: Drop dependency on ClutterX11 headers/gir 2021-06-29 22:47:41 +00:00
shell-tray-manager.h shell/tray-manager: Allow to unmanage screen 2020-03-06 18:45:21 +00:00
shell-util.c shell: Shuffle ifdef to fix !HAVE_SYSTEMD build 2022-02-13 12:06:11 +00:00
shell-util.h shell: Add call to check the existence of a systemd unit 2022-02-11 23:51:24 +00:00
shell-window-preview-layout.c shell/window-preview-layout: Fix memory leaks 2022-04-22 15:02:29 +00:00
shell-window-preview-layout.h Move WindowPreviewLayout from JS to C 2021-03-09 15:40:49 +00:00
shell-window-preview.c shell: Specify G_PARAM_EXPLICIT_NOTIFY where appropriate 2022-02-10 13:09:37 +00:00
shell-window-preview.h windowPreview: Subclass a C actor 2021-03-09 15:40:49 +00:00
shell-window-tracker-private.h apps: Ensure running apps override new .desktop file data 2011-09-05 17:29:41 -04:00
shell-window-tracker.c shell: Use g_object_notify_by_pspec() where possible 2022-02-10 13:09:37 +00:00
shell-window-tracker.h shell: Hide/drop unused public API 2018-11-23 13:58:35 +01:00
shell-wm-private.h ui: Add InhibitShortcutsDialog 2017-08-02 11:27:42 +01:00
shell-wm.c ui: Add InhibitShortcutsDialog 2017-08-02 11:27:42 +01:00
shell-wm.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-workspace-background.c workspace: Port WorkspaceBackground allocate to C 2022-08-03 12:30:31 +00:00
shell-workspace-background.h workspace: Port WorkspaceBackground allocate to C 2022-08-03 12:30:31 +00:00