publicly ask for help to improve macOS performance
it's been a long time coming - I finally sat down and wrote this. I'd like for Inkscape as a project to publicly ask for help as the "maybe someday someone comes along and automagically fixes our problems"-approach is not working for me. But I also think that I and we as a project haven't exhausted all our options yet. I am not a social media person (and I don't think I ever will be) but I believe going through our social channels and activating our community is required to "be vocal" and "be heard", but that's just me. I'd like your input and ideas on if and how to approach this.
macOS developers wanted!
The Inkscape project would like to ask for the most valuable kind of donation there is: your time!
the TL;DR version
Specifically, we need a macOS developer to focus on performance analysis, to identify the culprits in either our code or that of our dependencies and - ideally - to come up with ideas and/or patches to improve the current situation. Besides C/C++ experience and that you own a Mac, nothing else is required but your motiviation and precious time. (Although prior experience with performance measuring tools, low level macOS APIs and/or GTK, Cairo, ... is a plus, it's nothing that can't be learned "on the job".)
the big wall-of-text version
Ever since Inkscape became a native macOS application that doesn't depend on X11, the performance on canvas has been bad to the point where people simply don't want to use Inkscape anymore. On Linux it's ok, on Windows a degradation is noticeable but on macOS it's a snail in comparison. We are fully aware of how bad the situation is, but we simply lack the resources - developers! - to take this on. So it's time for us to ask for help more publicly, which is what you are reading right now.
Are you a macOS developer? Can you see yourself contributing to an open source project? We know this is a huge ask - but rest assured you'll be joining like-minded people who all put their heart and time into the project.
As already explained in the TL;DR section above, we specifically need someone to analyze the macOS-specific performance bottlenecks in Inkscape. Although this won't be rocket science, you should expect this task to take a lot of time and motiviation on your end to get results. Unless you already are an expert in GTK and macOS low level APIs, you'll have to acquire the required knowledge in the "learning by doing" way. We do not have this kind of knowledge in the project (yet - hey you!
Still, let it be said that we are all volunteers at Inkscape and nobody can tell anyone what to do. That is a very cool type of freedom and of course that'll apply to you, too. You're not signing a contract with us and if you jump ship after two days, that's your right. But we really hope that we can avoid a situation like that, which will only have wasted your time and ours, by being as honest and upfront about this as possible.
There's also no predetermined solution on how we expect the performance problems to be solved. To give you some ideas:
- identify performance-wasting code in Inkscape/GTK/Cairo/... and create patches to optimize -or-
- migrate codebase from GTK 3 to GTK 4, betting on the new improved macOS backend in GTK 4 -or-
- introducea GPU renderer -or-
- whatever you can come up with!
Basically, whatever helps to improve the situation will have a huge impact on Inkscape and our users.
If you are interested, have questions or other ideas, say hello in #team_devel_mac[link_here]. (Don't be shy, no strings attached!)