-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add This Month in Xilem 02 blog (#41)
* 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
Showing
1 changed file
with
38 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |