Remove nested resize testing guide
This commit is contained in:
1 parent
f228a08ff9
commit
cc38436bce
4 files changed
+1
-74
No files matched your search
@@ -48,7 +48,6 @@ and [guides at that tag](https://github.com/ferese-wm/ferese/tree/v0.1.0-beta/do
|
|||||||
- [Rendering diagnostics](rendering-performance.md): outcome counters, capture cost and repeatable hardware baselines.
|
- [Rendering diagnostics](rendering-performance.md): outcome counters, capture cost and repeatable hardware baselines.
|
||||||
- [DMA-BUF feedback](dmabuf-feedback.md): conservative allocation hints, fallback and hardware validation.
|
- [DMA-BUF feedback](dmabuf-feedback.md): conservative allocation hints, fallback and hardware validation.
|
||||||
- [Output management tests](output-management-testing.md): profiles, hotplug and DRM failures.
|
- [Output management tests](output-management-testing.md): profiles, hotplug and DRM failures.
|
||||||
- [Nested resize checks](nested-resize-testing.md).
|
|
||||||
- [Client soak testing](native-soak-testing.md).
|
- [Client soak testing](native-soak-testing.md).
|
||||||
- [Website development](../site/README.md).
|
- [Website development](../site/README.md).
|
||||||
- [Theme components](../crates/ferese-theme/README.md): shared native UI styles.
|
- [Theme components](../crates/ferese-theme/README.md): shared native UI styles.
|
||||||
@@ -32,7 +32,6 @@ host. Hardware checks remain separate.
|
|||||||
- [Rendering diagnostics](rendering-performance.md): per-output outcomes and repeatable hardware baselines.
|
- [Rendering diagnostics](rendering-performance.md): per-output outcomes and repeatable hardware baselines.
|
||||||
- [DMA-BUF feedback](dmabuf-feedback.md): conservative allocation hints, fallback and hardware validation.
|
- [DMA-BUF feedback](dmabuf-feedback.md): conservative allocation hints, fallback and hardware validation.
|
||||||
- [Output management tests](output-management-testing.md): profiles, hotplug, mirroring, lid handling and failed DRM commits.
|
- [Output management tests](output-management-testing.md): profiles, hotplug, mirroring, lid handling and failed DRM commits.
|
||||||
- [Nested resize checks](nested-resize-testing.md): wallpaper and bar responsiveness.
|
|
||||||
- [Client soak testing](native-soak-testing.md): repeated client lifecycle and resource growth.
|
- [Client soak testing](native-soak-testing.md): repeated client lifecycle and resource growth.
|
||||||
|
|
||||||
## Live Activities checks
|
## Live Activities checks
|
||||||
|
|||||||
@@ -1,71 +0,0 @@
|
|||||||
# Nested resize checks
|
|
||||||
|
|
||||||
Build and launch a preview with protocol and render logging:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
cargo build --release --locked -p ferese -p ferese-shell
|
|
||||||
WAYLAND_DEBUG=1 FERESE_TRACE_PERFORMANCE=1 \
|
|
||||||
target/release/ferese --backend nested --grant-effects --grant-shell-control -- \
|
|
||||||
target/release/ferese-shell 2>/tmp/ferese-resize.log
|
|
||||||
```
|
|
||||||
|
|
||||||
Set a wallpaper, then drag each edge of the host window and repeatedly maximize
|
|
||||||
and restore it. The wallpaper and bar should resize without long stalls. Check
|
|
||||||
this at fractional scaling too.
|
|
||||||
|
|
||||||
## Compare renderers
|
|
||||||
|
|
||||||
Repeat the check with `ICED_BACKEND=wgpu` and `ICED_BACKEND=tiny-skia` to compare
|
|
||||||
renderers. The shell prefers tiny-skia with a wgpu fallback for its small
|
|
||||||
surfaces, while Settings prefers wgpu with a tiny-skia fallback for larger
|
|
||||||
scrolling pages. An explicit `ICED_BACKEND` selects the requested backend, and
|
|
||||||
the shell's automatic preference is not passed to Settings when it launches it.
|
|
||||||
|
|
||||||
Follow the trace from host resize through layer configure, client acknowledgement,
|
|
||||||
new buffer commit and compositor rendering. A quick acknowledgement does not mean
|
|
||||||
the client has finished drawing. `FERESE_TRACE_PERFORMANCE` measures compositor
|
|
||||||
work, not shell rasterization.
|
|
||||||
|
|
||||||
## Historical check
|
|
||||||
|
|
||||||
A KDE Wayland check at 175% scale used debug binaries and protocol tracing.
|
|
||||||
Median configure acknowledgement was 1.35 ms with tiny-skia and 2.27 ms with
|
|
||||||
wgpu. Wallpaper buffer intervals were 5919 ms with tiny-skia (only two buffers)
|
|
||||||
and 9.85 ms median with wgpu. The captures had different durations, so these
|
|
||||||
observations do not establish comparative throughput. GPU intervals also had stalls
|
|
||||||
up to about 200 ms.
|
|
||||||
|
|
||||||
Repeat on the current build. A nested result does not establish direct-session
|
|
||||||
resize or frame-pacing behavior.
|
|
||||||
|
|
||||||
## Controlled slow client
|
|
||||||
|
|
||||||
Build the compositor and control tool, then run on a Wayland host:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
cargo build --release --locked -p ferese -p feresectl
|
|
||||||
FERESE_TEST_RESIZE=1 FERESE_TEST_BINARY=target/release/ferese \
|
|
||||||
FERESE_TEST_CTL=target/release/feresectl \
|
|
||||||
python3 scripts/tests/test_resize_dependencies_isolated.py
|
|
||||||
```
|
|
||||||
|
|
||||||
The test creates a private nested desktop and two SHM clients. One acknowledges
|
|
||||||
a resize immediately but withholds its new buffer until instructed. It checks
|
|
||||||
that an independent first-column viewport target moves both windows together
|
|
||||||
before the 300 ms deadline, while the slow client's raster and presented size
|
|
||||||
stay held, then commits an actually resized raster. This is a state/coordinate
|
|
||||||
check on the selected host renderer, not a smoothness or hardware benchmark.
|
|
||||||
|
|
||||||
For deterministic commit, supersession, multiple-client, timeout, unmap,
|
|
||||||
workspace, swipe-cancel, stacked-column, prediction, hit-testing, snapshot and
|
|
||||||
capture privacy coverage without a host desktop:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
cargo test --locked -p ferese resize_dependencies_protocol_and_pixels -- --ignored
|
|
||||||
```
|
|
||||||
|
|
||||||
That test requires an offscreen EGL device, including a software device. Layout
|
|
||||||
and dependency unit tests run without EGL in the ordinary workspace test suite.
|
|
||||||
Viewport dependencies retain at most 32 relative target recipes; a longer burst
|
|
||||||
falls back to a conservative linked wait until commit, deadline, or an absolute
|
|
||||||
retarget. Existing resize snapshots and their handoff lifetime are reused.
|
|
||||||
+1
-1
@@ -34,4 +34,4 @@ A window’s content, clipping and border need to follow the same presented boun
|
|||||||
|
|
||||||
## Testing on hardware
|
## Testing on hardware
|
||||||
|
|
||||||
Resize coordination, output timing and interrupted transitions need testing and measurements on the hardware where the desktop runs. The [output management checks](output-management-testing.md) cover hotplug and display changes. Use the [nested resize checks](nested-resize-testing.md) for window resizing and the [client soak tests](native-soak-testing.md) for repeated window creation and cleanup.
|
Resize coordination, output timing and interrupted transitions need testing and measurements on the hardware where the desktop runs. The [output management checks](output-management-testing.md) cover hotplug and display changes. Use the [client soak tests](native-soak-testing.md) for repeated window creation and cleanup.
|
||||||
Reference in new issue
Block a user