longbridge / gpui-fast
git clone https://github.com/longbridge/gpui-fast.git
v0.1.10 · 1d ago
GPUI extracted from the Zed monorepo as a standalone workspace, with the layout engine reworked to keep what did not change between frames
—
stars, 24h
—
stars, 7 days
+262
stars, 30 days · #987
262
★ total
32
forks · 3 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageRust
LicenseApache-2.0
Created2026-09-24 (26d ago)
Last push1d ago
Watchers1
OwnerOrganization
Links
README excerpt
# GPUI Fast A performance-focused fork of Zed's GPUI with incremental rendering and native window composition. v0.1.0 is available on crates.io. The project remains experimental. - **Retained Mode** reuses unchanged views, layout nodes and text measurements. - **Scroll layers** reuse cached GPU tiles and list rows while scrolling, on macOS, Linux and Windows. - **Window composition** embeds native content while keeping GPUI menus, popovers and dialogs above it. ## Retained Mode GPUI Fast tracks rendering dependencies and rebuilds only what changed. Recorded Linux release-build CPU time per frame: | 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. Results depend on the workload. See Retained Mode and Scroll layers for measurements and implementation details. ## Window composition Opt-in composition supports macOS, Windows and Linux (Wayland and X11), based on zed#62379. GPUI menus, popovers and dialogs, including their shadows and translucent backdrops, render above the native content on all three: | Platform | Native content | GPUI overlays | | --- | --- | --- | | macOS | AppKit view (WKWebView) | Overlay layer | | Windows | WebView2 composition | Overlay layer | | Linux (Wayland) | Subsurface | Overlay subsurfaces | | Linux (X11) | Child window (WebKitGTK) | Overlay window blended by the compositing manager; cut out of the native content without one | [code] ## Using it Alias the published crates to GPUI's library names: [code] The platform features above select Linux backends; omit them on macOS and Windows. GPUI Kit applications should follow the compatibility setup to use the same GPUI core. Changes to render state outside tracked entities, globals and list/scroll state need `cx.notify()`. See Retained Mode for details. ## Following upstream v0.1.0 includes Zed's GPUI through `a1b71072e5`. UPSTREAM records the revision for the current checkout. GPUI Fast keeps its implementation in `fast/` modules with small hooks into upstream code, making future syncs easier. See Architecture and Contributing for design, building and testing. ## License Apache-2.0 — copyright Zed Industries, Inc. This is a modified fork; see LICENSE-APACHE.