-
Notifications
You must be signed in to change notification settings - Fork 104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for not compositing until at least one renderable has been sent to the compositor #3086
Conversation
Empirically, this behaves fine, the only difference seems to be that e.g. We could want to allow compositors to force composition? Or maybe log (periodically?) that we're waiting for a renderable? @AlanGriffiths thoughts? Couple tests to fix:
|
There are quite a few tests here so I'll fix them once we know that this is the right solution. One question I have is that do we need to I appear to have broken a bunch of the tests where we're trying to hit the render optimization with zero renderables. That optimization path probably shouldn't be hit if we have this other optimization, but perhaps someone more familiar with that optimization can tell me if I'm wrong :) |
This approach looks sensible. The failing tests are partly because we've changed the expected behaviour, but more because they are bad tests (testing the implementation works the way it is implemented, not the requirements, and testing more than one behaviour in a test). It may be worth reworking the tests as a pre-requisite |
Codecov Report
@@ Coverage Diff @@
## main #3086 +/- ##
==========================================
- Coverage 78.42% 78.41% -0.01%
==========================================
Files 1073 1073
Lines 74714 74689 -25
==========================================
- Hits 58593 58567 -26
- Misses 16121 16122 +1
... and 7 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure
To test
sudo make install
The splash should still be on the screen
4. Run frame:
What's new?
DefaultDisplayBufferCompositor::composite
now returns a boolean telling the caller if any compositing happened or notMultithreadedCompositor
needs compositing, apost
will happen, otherwise nothing will happen