Skip to content
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

bevy_core_pipeline: Merge main_pass_3d passes into one #4734

Closed
wants to merge 1 commit into from

Conversation

superdump
Copy link
Contributor

They all use the same configuration so merging them gives better performance,
particularly on mobile, as the attachments have to be written out and read in
between passes.

@superdump superdump added A-Rendering Drawing game state to the screen C-Performance A change motivated by improving speed, memory usage or compile times labels May 12, 2022
@superdump
Copy link
Contributor Author

I haven't tested this to see if it has any practical performance benefit on a laptop. But we should ideally test to see the performance difference before merging.

@alice-i-cecile alice-i-cecile added the C-Code-Quality A section of code that is hard to understand or change label May 13, 2022
@maxammann
Copy link

Thanks for opening this one! :)

@superdump
Copy link
Contributor Author

A note that this now always runs a render pass. This should either check to see if there are any phase items in any of the phases and if not then early return, or this could be part of #4745

…to one

They use the same configuration so merging them gives better performance,
particularly on mobile, as the attachments have to be written out and read in
between passes.
@superdump
Copy link
Contributor Author

I'm going to close this because a couple of use cases have come up where one may want to run something between the passes. As such, I think the right route forward is to split the opaque, alpha mask, and transparent passes to be run in different render graph nodes so that people have the flexibility to do stuff between if needed.

@superdump superdump closed this Jul 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Rendering Drawing game state to the screen C-Code-Quality A section of code that is hard to understand or change C-Performance A change motivated by improving speed, memory usage or compile times
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants