On Skia's Performance

Does Skia renderer performance matches your expectations?

Here’s me drawing 40K points on a grid. Now 40K may sound a lot but there are only 200 rows and 200 columns.

Skia on VVVV:

vs Skia on browser using CanvasKit:

It is odd to see that SkiaSharp can’t beat the Skia library that is compiled to be used on top of the browser.

Comparing this to Skiko, Skia bindings for Kotlin:

Files:

There is a discussion about it on Twitter too. It looks like it is not VVVV or SkiaSharp’s fault here, but what SkiaSharp uses underneath.

I see the perf impact when I do anything slightly expensive, like showing a shadow.

However, I do not have enough programming chops to compare it to, say, Skia on a system programming language. Is it just me, or do you guys too feel it mono/SkiaSharp performance isn’t what you expected it to be?

2 Likes

I can say only that it’s tricky to work, imagine you can draw your points as dashed line for instance? Would it be faster? From my experience I managed to degrade fps under 60 many times, but always managed to get it back to 60 by reevaluating some parts on graph.