Earlier quoted context omitted.
I mean I really don't know what library they could've tried other than Skia that's suitable to build a GPU renderer for Canvas's API, and they explain why they were hesitant to try Skia. Do you have any suggestions?
Mozilla's WebRender. It's actually a better option by their own criteria because it's developed as a standalone reusable library.
WebKit switching to Skia for 2d graphics rendering
31–40 of 181 posts
Re: WebKit switching to Skia for 2d graphics rendering
#32Presumably this is partly why it has become so popular, but as someone who's been writing mostly 2D GL/WebGPU apps for a decade I've only briefly considered a Skia as an alternative, but this is mostly out of ignorance.
Re: WebKit switching to Skia for 2d graphics rendering
#33Awesome! Glad to see skia is finding uses in places other than fuschia
Re: WebKit switching to Skia for 2d graphics rendering
#34So will they maintain a stable C API to skia? It is long-time known pain point that the skia official doesn't provide a usable C API.
Why would they? The API they (WebKit) are providing is the Canvas API, the fact that they're using Skia behind the scenes is an implementation detail... I don't see why they would go through the trouble of maintaining a stable C API for internal use in a C++ project?
Re: WebKit switching to Skia for 2d graphics rendering
#35"WebKit Switching to Skia for 2D Graphics Rendering" ... for the GTK and WPE ports. Not on Apple platforms.
Re: WebKit switching to Skia for 2d graphics rendering
#36Didn't Flutter ditch Skia recently due to performance reasons?
"Impeller is a new Flutter rendering engine that the Flutter team claims solves the early-onset jank problem. It is designed as a replacement for Skia, with the goal of enabling better animations and addressing the jank issue, while also potentially providing support for 3D, which was not previously possible with Skia, as it exclusively supports 2D. Unlike Skia, Impeller compiles shaders during the build process instead of at runtime.
In Flutter 3.10, Impeller replaces Skia engine and becomes the primary rendering engine on iOS."
Re: WebKit switching to Skia for 2d graphics rendering
#37I wish there was a nice and small vector graphics library with GPU acceleration. So far Skia is the only real option, despite its downsides.
Re: WebKit switching to Skia for 2d graphics rendering
#38Why not just import all that code?
Re: WebKit switching to Skia for 2d graphics rendering
#39I was curious how Igalia was funded and this was a surprisingly good interview on how they’re structured, how they work with the major browser companies, etc… Apparently many Apple, Google, Firefox engineers left to work for them. https://thenewstack.io/igalia-the-open-source-powerhouse-you...
Re: WebKit switching to Skia for 2d graphics rendering
#40Could someone who knows Skia internals describe, if possible, the tradeoffs that Skia has made between performance, rendering quality and API DX? Presumably this is partly why it has become so popular, but as someone who's been writing mostly 2D GL/WebGPU apps for a decade I've only briefly considered a Skia as an alternative, but this is mostly out of ignorance.
But the external API is fairly simple. Basically you queue up various drawing commands and at the last minute tell it to execute the queued commands somewhere.
The queue is 'optimized' - for example if you tell it to draw some text and later crop the text out of the image, then no CPU/GPU time will be spent drawing text that won't be visible in the output. You can also draw text small and scale it up later without getting jagged edges as you would if you'd scaled up a raster image.
That ability lets you make tile based renderers, where you queue up all the commands for say a whole webpage, but then draw only a small square of the page like a map tile, and as the user scrolls/pans, you can draw more tiles as needed.