Wisp 1.2.1: CPU rendering option and reduced dial drawing work - #55
Merged
Merged
Conversation
| Require(SUCCEEDED(WispRendererDrawForPresentation(renderer, commands, 2, 1, &metrics)), "measured cache draw"); | ||
| Require(metrics.drawCount == expectedDraws && metrics.mapCount == expectedDraws, | ||
| "cache metrics count only actual draws and maps"); | ||
| Require(metrics.totalTicks >= metrics.setupTicks + metrics.mapTicks, |
| Require(SUCCEEDED(WispRendererDrawForPresentation(renderer, overlap, 2, 1, &drawMetrics)), "separate measured draw"); | ||
| Require(drawMetrics.drawCount == 2 && drawMetrics.mapCount == 2 && drawMetrics.totalTicks > 0 && | ||
| drawMetrics.setupTicks > 0 && drawMetrics.mapTicks >= drawMetrics.maximumMapTicks && | ||
| drawMetrics.totalTicks >= drawMetrics.setupTicks + drawMetrics.mapTicks, |
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.
Adds an optional CPU rendering toggle in Diagnostics for Analogue tachometer lag or hitching. The setting applies after exiting Wisp from the tray and reopening it; GPU remains the default.
CPU mode now reuses the unchanged dial pixels instead of repeating the dial shader each frame. Needles and live values continue drawing, with the existing artwork, smoothing and presentation queue. This also includes the tested queued-telemetry playback correction, busy-presentation retry reuse and bounded renderer diagnostics from the 1.2.1 test builds.
Validation: 3,170 .NET tests, 75 compatibility tests, repository policy, formatting, verified installer build and both actual-installer updater validators passed locally. Native GPU and CPU contract suites passed. An independent serial ABBA comparison against Test3 found 36–44% lower offscreen rendering cost and 60/60 byte-identical pixel comparisons across sizes and dynamic gauge states.
The performance comparison does not establish displayed FPS or zero hitching on the affected PC. Issue #30 remains open.