Comment 1 for bug 1723247

Revision history for this message
Patrick Storz (ede123) wrote :

A big hit in performance seems to be a major performance regression in gtk3 which is occuring when disabling client side decorations (CSD), see upstream bug [1].

Client side decorations are basically window decorations (borders, title bar) and gtk3 introduced the possibility to draw UI elements into these areas (which Inkscape does not use, though). This feature requires GTK to draw these parts itself instead of off-loading this work to the OSs window manager.

CSD therefore results in the window looking non-native on Windows (it's using the default Adwaita theme - even for borders - as there is no system theme like in other OSs). Even worse, CSD breaks most functionality of the window manager (like aero snap and related features). See [2] for the upstream request to disable CSD on Windows by default and bugs linked from there for details.

MSYS2 already decided to go ahead and disable CSD by default [3].

By enabling CSD again (e.g. by setting the environment variable GTK_CSD=1) performance of Inkscape increases significantly (not to the level of gtk2 builds, though), so this could be a workaround in the worst case scenario (gtk3 - as so often for win32 related issues - doesn't give a sh*t and ignores this issue and we can not figure something out ourselves).
I'm pretty sure we'll get a lot of heat when shipping Inkscape without native window decorations and with crippled functionality, though, and to be honest I feel users would be completely right to give us heat if we choose this crappy solution...

[1] https://bugzilla.gnome.org/show_bug.cgi?id=781153
[2] https://bugzilla.gnome.org/show_bug.cgi?id=778791
[3] https://github.com/Alexpux/MINGW-packages/pull/2981