New experimental 2D renderer using skia
v0.8.0
We are happy to announce another developmental release under the summer fellowship at The Processing Foundation. The project was supervised by Mark Zhang. This release comes with an experimental 2D renderer using Skia. The skia 2D renderer shows significant improvements in both rendering
and efficiency of the sketches.
You can use the new 2D renderer by using the renderer
argument in run
function run(renderer='skia')
Bug Fixes
New Features
- Along with the snake_case convention we support the camelCase
convention for most Processing APIs #280 - New experimental 2D renderer "skia" #344. Skia currently does not
support typography and Image APIs, they will be implemented in
further releases.
List of New APIs
frame_rate
{.interpreted-text role="any"} sets frame rate for a
sketch (only for skia)rect
{.interpreted-text role="any"} now supports border radius
(only for skia)CORNERS
{.interpreted-text role="any"} CORNERS mode added (only
for skia)focussed
{.interpreted-text role="any"} holds whether the current
window is in focus or not (only for skia)
All the API previously present are supported as well in skia.
Here are some profiling results comparing the time taken to draw 100 frames for different sketches
Name | Skia | Vispy |
---|---|---|
arcs | 2.11s | 10.06s |
custom_shapes | 1.84s | 5.00s |
triangle_strip | 2.55s | 3.33s |
curves | 1.76s | 5.41s |
primitives | 1.73s | 3.9s |
This release includes contributions from @tushar5526, @niklasr22,
@ziyaointl, @nakul-shahdadpuri, @andreasWallner, @janbehrens,
@yogeshhk, @cuppajoeman, @willtryagain, @parsoyaarihant,
@Kartik-byte, @Andy-Python-Programmer, @Mr-Sunglasses Thank you!