Remove adorner handling hack from the compositor #20315
Draft
+290
−128
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.
During migration from DeferredRenderer to the current composition engine, we've also fixed a bug with adorners being out of sync with adorned elements (off by one frame).
The fix was implemented by hardcoding adorners into the compositor and having a separate pass for them which made them sort of guaranteed to be in sync. However it is still a hack.
The original issue was caused by our layout pass not supporting changes being made during the same pass. Now that we've implemented MediaContext infra from WPF this is no longer a problem.
This PR moves adorner handling back to the UI thread.