Hacker News new | ask | show | jobs
by pavlov 849 days ago
I have an open source project that uses Skia, and I just keep static libraries for all target platforms because the Skia build process is so painful.

Maybe once a year I bite the bullet, do a new Skia build on all the platforms, and then I have to figure out how the C++ API has changed. At least that’s just rote work of fixing compiler errors by looking at the new header files.

Even though it’s a pain in the ass, I still use Skia because it’s got the best combination of performance and features. Sadly Cairo doesn’t quite compete. Skia gives my project a pretty good guarantee that 2D graphics render like in Chrome, and that’s important for this use case.

2 comments

Have you considered Blend2D? It's much easier to build, and performance is on par with Skia.
I thought Blend2D was a CPU-only library. Skia offers hardware acceleration via the GPU.
Out of curiosity, why do you rebuild? What kinds of new features would get you to want to upgrade?
The Skia C++ API changes quite a lot. If I didn't sync up regularly, the tech debt could become a problem down the line, for example if I want to add a platform that does need a new build of the library.
CVE-2023-2136 and friends are good reasons to upgrade.