You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/blog/2025-08-05-tmil-19/index.md
+14-13Lines changed: 14 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,8 +10,8 @@ Linebender is an informal open-source organization working on various projects t
10
10
Vello is our GPU vector renderer.
11
11
It can draw large 2D scenes with high performance, using GPU compute shaders for most of the work.
12
12
13
-
-[vello#785][]: Strokes with a width of zero are no longer treated as fills.
14
-
-[vello#908][]: Updates to wgpu 25 release.
13
+
-[vello#785][]: Fixed strokes with a width of zero being treated as fills.
14
+
-[vello#908][]: Updated to wgpu version 25.
15
15
-[vello#1093][]: Disabled runtime checks in shaders using wgpu's new `create_shader_module_trusted` API, by sagudev.
16
16
17
17
This month's progress on the sparse strips renderers, a collaborative evolution of Vello, has been centered around adding support for NEON and WASM SIMD, as well as making further improvements to multi-threaded rendering.
@@ -25,6 +25,13 @@ This month's progress on the sparse strips renderers, a collaborative evolution
25
25
-[vello#1134][]: Reuses FlattenCtx for paths.
26
26
-[kurbo#427][]: Contains a new stroke expander with significant performance improvements.
27
27
28
+
Our [working roadmap](https://docs.google.com/document/d/1ZquH-53j2OedTbgEKCJBKTh4WLE11UveM10mNdnVARY/edit?tab=t.0#heading=h.j3duh9pgdm94) outlines the planned timeline for work on the renderers into next year.
29
+
30
+
An integration of Vello as the backend for Servo's canvas rendering has landed in [servo#36821][] (and also Vello CPU in [servo#38282][]).
31
+
You can follow this work at [servo#38345][].
32
+
33
+
### Benchmarking
34
+
28
35
<!-- TODO: Clean up long sentences, hedge, ensure link text is meaningfuly, etc. -->
29
36
In order to get a better understanding of where we lie performance-wise, we included `tiny-skia` and `vello-cpu` in the [Blend2D benchmark harness](https://blend2d.com/performance.html), a comprehensive benchmarking tool that tests the performance of different parts of a 2D renderer and compares it against other renderers.
30
37
In order to do so, a [fork](https://github.com/LaurenzV/blend2d-apps/tree/benching) of the benchmark harness was created that uses C bindings to both libraries to include them in the harness.
@@ -41,13 +48,6 @@ Some things that should be noted here:
41
48
42
49
Nevertheless, by looking at this chart, it is clear that `vello-cpu` has very impressive performance and on track to become the fastest CPU-based renderer in the Rust ecosystem! When taking all renderers into consideration, Blend2D is still the clear winner in terms of raw performance, but `vello-cpu` does end up taking the second place in many of the benchmarks and beating other renderers such as Skia and Cairo, especially as the size of the geometry gets larger. Similarly to Blend2D, `vello-cpu` also offers a multi-threaded rendering mode, which is especially effective when drawing larger geometries with curves or when using complex paints such as gradients or patterns.
43
50
44
-
Our [working roadmap](https://docs.google.com/document/d/1ZquH-53j2OedTbgEKCJBKTh4WLE11UveM10mNdnVARY/edit?tab=t.0#heading=h.j3duh9pgdm94) outlines the planned timeline for work on the renderers into next year.
45
-
46
-
An integration of Vello as the backend for Servo's canvas rendering has landed in [servo#36821][] (and also Vello CPU in [servo#38282][]).
47
-
You can follow this work at [servo#38345][].
48
-
49
-
<!-- TODO: Screenshot of chart, maybe? -->
50
-
51
51
### Fearless SIMD
52
52
53
53
Fearless SIMD is our SIMD infrastructure library.
@@ -87,16 +87,17 @@ It provides a non-opinionated retained widget tree, designed as a base layer for
87
87
88
88
<!-- TODO: Screenshot for xilem#1096? -->
89
89
90
-
<!-- <figure>
90
+
<figure>
91
91
92
-
<img style="height: auto" width="1464" height="955" src="multiple_windows.png" alt="Three overlapping windows on a black background. The frontmost window is titled Second Window, has text displaying a count of 11, a plus button, and a minus button, stacked vertically. Behind it is First Window, which is the same with a count of 13. At the back is a window titled Multiple Windows, which shows a map from the aforementioned windows to their values above a textbox and Add button. The textbox contains the text Next Window.">
92
+
<imgstyle="height: auto"width="521"height="420"src="masonry_new_style.png"alt="A todo list app, with items referring to aspects of the new design language, namely 'New Colours', 'Increased Consistency', and 'More Rounded Corners'. The item labelled 'A full design system' is unchecked.">
93
93
94
94
<figcaption>
95
95
96
-
As of [xilem#1038][] Masonry (and Xilem) support multiple windows.
96
+
As of [xilem#1096][] Masonry's default styles have been improved.
97
+
This is not a full design system, but is a piecewise improvement.
0 commit comments