Performance issue with gtk3 (especially on Windows)
(I'll split this from the previous thread "slow, sluggish drawing with pencil & calligraphy tool solved" which became quite lengthy with a title not really matching the topic anymore)
Hi all,
I did not have a lot of time to follow up on this lately but I've got some great news I want to share with you regarding the performance issues we were seeing in Inkscape master (especially on Windows due to extremely poor GTK3 rendering performance which got even worse when drawing native window decoration, i.e. GTK_CSD=0).
Turns out a patchset for cairo (see [1]) greatly reduced the latency of the rendering pipeline giving Inkscape a huge boost. I just built Inkscape with the patched cairo and performance with GTK_CSD=0 is now even slightly higher than with GTK_CSD=1! Also the blocking behaviour is completely gone (i.e. UI always redraws properly with current unmodified master).
Performance with master/gtk3 is still *a lot* lower than with 0.92.x/gtk2, so I hope we can continue to improve Inkscape code (Yale's changes already looked very promising and I think they were not directly related to the changes in cairo, i.e. could improve performance even more) and maybe even GTK3 code (there are some very recent developments [2] which might result in a completely overhauled OpenGL based backend for win32!) but with today's success I finally feel we have a realistic chance to make the next Inkscape fun to work with on Windows!
Best Regards, Eduard
[1] https://github.com/Alexpux/MINGW-packages/pull/3675 [2] https://gitlab.gnome.org/GNOME/gtk/issues/105
Awesome news :)
Dear Eduard,
Once this saga is completed to a reasonable degree, would you be willing to write a news article a bit like a blog so our users can understand the amount of effort and time that's gone into fixing something that is quite a bit back-end and not user visible?
You could take this post as a base with an introduction for example.
Best Regards, Martin Owens Website Hat.
On Thu, 2018-05-03 at 21:06 +0200, Eduard Braun wrote:
(I'll split this from the previous thread "slow, sluggish drawing with pencil & calligraphy tool solved" which became quite lengthy with a title not really matching the topic anymore)
Hi all,
I did not have a lot of time to follow up on this lately but I've got some great news I want to share with you regarding the performance issues we were seeing in Inkscape master (especially on Windows due to extremely poor GTK3 rendering performance which got even worse when drawing native window decoration, i.e. GTK_CSD=0).
Turns out a patchset for cairo (see [1]) greatly reduced the latency of the rendering pipeline giving Inkscape a huge boost. I just built Inkscape with the patched cairo and performance with GTK_CSD=0 is now even slightly higher than with GTK_CSD=1! Also the blocking behaviour is completely gone (i.e. UI always redraws properly with current unmodified master).
Performance with master/gtk3 is still *a lot* lower than with 0.92.x/gtk2, so I hope we can continue to improve Inkscape code (Yale's changes already looked very promising and I think they were not directly related to the changes in cairo, i.e. could improve performance even more) and maybe even GTK3 code (there are some very recent developments [2] which might result in a completely overhauled OpenGL based backend for win32!) but with today's success I finally feel we have a realistic chance to make the next Inkscape fun to work with on Windows!
Best Regards, Eduard
[1] https://github.com/Alexpux/MINGW-packages/pull/3675 [2] https://gitlab.gnome.org/GNOME/gtk/issues/105
Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Great work! Thanks, Eduard (and others)!
Ryan
On 05/03/2018 01:06 PM, Eduard Braun wrote:
(I'll split this from the previous thread "slow, sluggish drawing with pencil & calligraphy tool solved" which became quite lengthy with a title not really matching the topic anymore)
Hi all,
I did not have a lot of time to follow up on this lately but I've got some great news I want to share with you regarding the performance issues we were seeing in Inkscape master (especially on Windows due to extremely poor GTK3 rendering performance which got even worse when drawing native window decoration, i.e. GTK_CSD=0).
Turns out a patchset for cairo (see [1]) greatly reduced the latency of the rendering pipeline giving Inkscape a huge boost. I just built Inkscape with the patched cairo and performance with GTK_CSD=0 is now even slightly higher than with GTK_CSD=1! Also the blocking behaviour is completely gone (i.e. UI always redraws properly with current unmodified master).
Performance with master/gtk3 is still *a lot* lower than with 0.92.x/gtk2, so I hope we can continue to improve Inkscape code (Yale's changes already looked very promising and I think they were not directly related to the changes in cairo, i.e. could improve performance even more) and maybe even GTK3 code (there are some very recent developments [2] which might result in a completely overhauled OpenGL based backend for win32!) but with today's success I finally feel we have a realistic chance to make the next Inkscape fun to work with on Windows!
Best Regards, Eduard
[1] https://github.com/Alexpux/MINGW-packages/pull/3675 [2] https://gitlab.gnome.org/GNOME/gtk/issues/105
Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Great news. I'll test it out tonight.
On Thu, May 3, 2018 at 1:38 PM, Ryan Gorley <ryan@...3592...> wrote:
Great work! Thanks, Eduard (and others)!
Ryan
On 05/03/2018 01:06 PM, Eduard Braun wrote:
(I'll split this from the previous thread "slow, sluggish drawing with pencil & calligraphy tool solved" which became quite lengthy with a title not really matching the topic anymore)
Hi all,
I did not have a lot of time to follow up on this lately but I've got some great news I want to share with you regarding the performance issues we were seeing in Inkscape master (especially on Windows due to extremely poor GTK3 rendering performance which got even worse when drawing native window decoration, i.e. GTK_CSD=0).
Turns out a patchset for cairo (see [1]) greatly reduced the latency of the rendering pipeline giving Inkscape a huge boost. I just built Inkscape with the patched cairo and performance with GTK_CSD=0 is now even slightly higher than with GTK_CSD=1! Also the blocking behaviour is completely gone (i.e. UI always redraws properly with current unmodified master).
Performance with master/gtk3 is still *a lot* lower than with 0.92.x/gtk2, so I hope we can continue to improve Inkscape code (Yale's changes already looked very promising and I think they were not directly related to the changes in cairo, i.e. could improve performance even more) and maybe even GTK3 code (there are some very recent developments [2] which might result in a completely overhauled OpenGL based backend for win32!) but with today's success I finally feel we have a realistic chance to make the next Inkscape fun to work with on Windows!
Best Regards, Eduard
[1] https://github.com/Alexpux/MINGW-packages/pull/3675 [2] https://gitlab.gnome.org/GNOME/gtk/issues/105
Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
participants (5)
-
Eduard Braun
-
Marc Jeanmougin
-
Martin Owens
-
Ryan Gorley
-
Yale Zhang