Rendering now occurs on the GPU by default, using Metal on macOS and Vulkan on Linux & Windows.
The Canvas object has a new property called .gpu which will be initialized to true if the system supports hardware rendering. If the user sets .gpu to false, the canvas will switch to the software renderer that skia-canvas has used in its previous releases (and which it falls back to if it can't initialize the GPU).
The GPU renderer work also uncovered the root causes of some bugs which are now fixed:
The .drawCanvas() routine now applies filter effects and shadows consistent with the current resolution and transformation state.
The .filter property's "blur(…)" and "drop-shadow(…)" effects now match browser behavior much more closely.
Antialiasing is smoother, particularly when down-scaling images, thanks to the use of mipmaps rather than Skia's (apparently buggy?) implementation of bucubic interpolation.
Rendering now occurs on the GPU by default, using Metal on macOS and Vulkan on Linux & Windows.
The Canvas object has a new property called
.gpu
which will be initialized totrue
if the system supports hardware rendering. If the user sets.gpu
tofalse
, the canvas will switch to the software renderer thatskia-canvas
has used in its previous releases (and which it falls back to if it can't initialize the GPU).The GPU renderer work also uncovered the root causes of some bugs which are now fixed:
.drawCanvas()
routine now applies filter effects and shadows consistent with the current resolution and transformation state..filter
property's"blur(…)"
and"drop-shadow(…)"
effects now match browser behavior much more closely.