Thursday, November 28, 2019

Skia branch merged to master

So, the branch implementing VCL drawing based on the  Skia graphics library has been merged in.
All(?) the necessary info about how to enable it etc. are in this mail, but there are things that better fit a blog post than a mail, and in this case that's going to be a table and a picture showing how well it may perform. Note that these results are from running visualbackendtest, which is not really a benchmark, so these numbers should be taken with a grain of salt. It's just a test that draws a gradient, several big polygons (each circle is actually 720 lines) and short text.
And LibreOffice of course does many more things than just paint on the screen. And it's not just about performance of drawing (some of these e.g. do not double-buffer, which makes things like alpha blending complicated and slow). And for some of these we could discuss the complicated reasons for why the numbers are what they are. But still, some of the numbers are interesting:
Render methodFPS
Linux gen (X11)86
Linux gtk370-90
Linux OpenGL45
Linux Skia Vulkan (GPU)65-90
Linux Skia raster (CPU)5
Windows GDI64
Windows OpenGL40-60
Windows Skia Vulkan (GPU)175-185
Windows Skia raster (CPU)75-85


  1. Lubos, hello! Thanks for your work!
    I have some questions:
    1. Now I can't use skia on my Intel CPU with HD4000 videocard in Windows 10 without ignore some blacklist. Is there a blacklist for skia too as for OpenGL?
    2. But skia on windows has only raster variant (as I see in Help->About dialog), that should work only with CPU. And the blacklist is only for GPU, if I understand right. What's wrong here?
    2. When will Skia Vulcan available? If it already available, then how can I activate it?

  2. Vulkan support is available, you need to meet the requirements described in the linked mail. And there is no blacklisting yet, so if this doesn't work for you, first check you have the necessary Vulkan support (run 'vulkaninfo'), and if it still doesn't work, then mail me more details.