Skip to content

Commit

Permalink
Add This Month in Xilem 02 blog (#41)
Browse files Browse the repository at this point in the history
* Add This Month in Xilem 02 blog

* Note Vello 0.1 release

Also move to one line per sentence formatting policy.

* Typo fixes and improved scroll link

This applies the fixes suggested by Kaur in review.

* Refine xilem_core section

Based on suggestion by Philipp in the review comments.
  • Loading branch information
raphlinus authored Mar 5, 2024
1 parent 280886e commit 72869dc
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions content/blog/2024-03-04-tmix-02.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
+++
title = "This Month in Xilem, February 2024"
authors = ["Raph Levien"]
date = "2024-03-04 07:34:42"
+++

Early this year, we made a decision to use the winit crate for window creation, as opposed to rolling our own.
That work has now landed in main ([xilem#176] was the main PR, with a number of followups).
A major motivation was to enable more platforms, with Android being a major goal.
That work is in progress; a major subtask is enumerating the system fonts.
As expected, this move has uncovered rough edges in winit and some regressions in behavior.
We plan to address those, with the improvements hopefully benefiting the entire Rust UI ecosystem.

The [Vello crate] has been published as version 0.1, with significant documentation improvements and a friendly example.
We consider this an alpha-quality release, as there are known issues.
Even so, we want to get a release out to facilitate integrations and shake out problems.

Another major area of work on Vello is investigation of startup time, which can take multiple seconds when the platform's GPU drivers are slow at compiling the compute shaders.
A number of techniques mitigate that.
One is to compile shaders in parallel, using multiple cores, and that has landed ([vello#455]).
An even bigger improvement will be caching compiled shaders.
Daniel McNab has made an encouraging prototype ([vello#459]), and the ultimate goal is to land that in wgpu so projects across the ecosystem can benefit from it ([wgpu#5292]).

The work to compute strokes on the GPU using Euler spirals continues, but has not yet landed.
The current state is a draft PR that implements the logic in Rust code, which now needs to be translated to WGSL for GPU evaluation ([vello#496], draft PR).

There has been progress at higher levels of Xilem.
Among other things, Nico Burns landed a scroll view implementation ([xilem#155]), and Philipp Mildenberger has been steadily refining xilem_core and xilem_web, including fine grained tree structure tracking and minimal/efficient DOM-tree-updates ([xilem#160]).

[Xilem]: https://github.com/linebender/xilem
[xilem#176]: https://github.com/linebender/xilem/pull/176
[vello#455]: https://github.com/linebender/vello/pull/455
[vello#459]: https://github.com/linebender/vello/pull/459
[wgpu#5292]: https://github.com/gfx-rs/wgpu/pull/5292
[xilem#155]: https://github.com/linebender/xilem/pull/155
[xilem#160]: https://github.com/linebender/xilem/pull/160
[vello#496]: https://github.com/linebender/vello/pull/496
[Vello crate]: https://crates.io/crates/vello

0 comments on commit 72869dc

Please sign in to comment.