Viewer: present frames through a DXGI flip-model swap chain - #92
Merged
Conversation
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.
Summary
Q1VIEW_DISABLE_DXGIQ1VIEW_TRACE_PLAYBACKtiming diagnostics for backend, displayed/dropped frames, paint time, and decoder timeRoot cause
The existing playback paint path waited for DWM twice per displayed frame. On a 60 Hz desktop this limited the representative 59.94 fps video to about 26–30 displayed fps. Moving completed frames to flip-model swap-chain buffers makes presentation atomic and removes those two waits from the normal path.
Validation
C0610_main.mp4(Sony ZV-1F, 1920×1080 HEVC Main, 60000/1001 fps, 11,700 frames): 11,675 displayed follow-up frames, 24 dropped (0.21%), 195.197 s playback, approximately 59.81 displayed fps; GDI fallback comparison was approximately 26.3 fpsOutstanding manual acceptance
The original #88 tall/portrait seam must still be checked on the affected company 4K display before this PR is marked ready or merged. The Actions artifact from this draft PR is intended for that test.
Closes #90 only after the outstanding 4K acceptance test passes.