Repository navigation
test(render): make automatic backend checks independent of timing - #1915
Open
TimotheusG wants to merge 2 commits into
Open
TimotheusG wants to merge 2 commits into
TimotheusG wants to merge 2 commits into
Conversation
This was referenced Oct 19, 2026
This was referenced Oct 20, 2026
This branch has not been deployed
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The automatic-backend tests inferred CPU/GPU performance from real scheduling and allocation times. During full Windows CI,
auto_backend_keeps_fast_acceleratorsfailed with "asked 20 of 40" even though the mock had no requested delay. A zero-delay mock is not guaranteed to outperform the CPU under concurrent load.The same timing failure was already reported in #1732, #1855 and #1874.
Feed the production
AutoPickselector controlled timing samples to check warm-up, periodic re-probes, faster/tied/noisy GPU costs, and a clearly slower GPU. Keep actual renderer dispatch and pixel checks using the resulting known history, including explicit GPU and Software Only overrides. The declining-accelerator and changing-cost tests remain. Production selection code is unchanged; the mock no longer sleeps.Validation: all four backend-selection tests pass, including ten repeat runs with 64 test threads. Full cargo xtask ci passed on Windows on the integration branch: 3,683 passed, 0 failed, 33 existing/opt-in ignored, strict Clippy, formatting, audits, and 32 WebAssembly crates. That branch combines #1889, #1890, #1891, #1827 and #1916 (Windows viewer screenshot guard); this PR changes only the backend-selection test file.
Summary by CodeRabbit