Skip to content

v0.1.0

Choose a tag to compare

@huacnlee huacnlee released this 06 Oct 05:44
· 13 commits to main since this release
598306f

GPUI Fast v0.1.0 is the first crates.io release: faster rendering, native window composition, and an updated GPUI upstream.

Performance

  • Retained Mode reuses unchanged views, layout nodes and text measurements, rebuilding only what changed.
  • Scroll layers reuse cached GPU tiles and list rows while scrolling. Supported on macOS (Metal), Linux (wgpu) and Windows (Direct3D 11).
  • Less frame overhead through cached numeric glyph layouts and fewer allocations.

Recorded Linux release-build results:

Workload Baseline GPUI Fast
Unchanged window 3.31 ms 0.19 ms (−94%)
Sidebar scrolling 5.95 ms 0.79 ms (−87%)
Streaming quotes 5.06 ms 1.35 ms (−73%)

The unchanged-window baseline disables retention in the same build; the other rows compare against upstream gpui-pre 0.3.7. See the benchmarks for details.

Window composition

Embed native content while keeping GPUI menus, popovers and dialogs above it. Composition is opt-in and supports macOS, Windows, Linux Wayland and X11, based on zed#62379.

cargo run -p gpui_perf --example native_webview

The example embeds WKWebView on macOS and WebView2 on Windows. Linux demonstrates an independent GPU surface rather than a WebView.

Upstream

Synced with Zed's GPUI through a1b71072e5, including the shared Apple renderer and Linux display-connection updates.

Install

[dependencies]
gpui = { package = "gpui-fast", version = "0.1.0" }

The project remains experimental. Changes to render state outside tracked entities and globals need cx.notify().