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

Use multi draw indirect count #823

Open
IntegratedQuantum opened this issue Dec 14, 2024 · 0 comments
Open

Use multi draw indirect count #823

IntegratedQuantum opened this issue Dec 14, 2024 · 0 comments
Labels
experimental a feature or idea that will require lots of experimentation graphics optimization a performance problem that should be addressed or an optimization idea

Comments

@IntegratedQuantum
Copy link
Member

This would reduce the cost of specializing the opaque shaders(#456) which in turn would allow implementing more expensive effects(#119).

Furthermore it would generally reduce the GPU overhead of occlusion culling when most chunks are being culled (staring at a wall with render distance 24), due to reducing the number of empty draw calls.

The problem with MDIC is that it doesn't seem to work well on intel iGPU due to some driver issue.
Furthermore older NVIDIA GPUs (I think pre-turing) will always run the maximum number of draw calls, which is basically just the status quo.

Because of this I think it would make sense to optionally switch to a scenario where the CPU reads back the count from the GPU. This is expensive, but shouldn't be a big deal.

@IntegratedQuantum IntegratedQuantum added experimental a feature or idea that will require lots of experimentation optimization a performance problem that should be addressed or an optimization idea graphics labels Dec 14, 2024
@IntegratedQuantum IntegratedQuantum added this to the Short-Term Goals milestone Dec 14, 2024
IntegratedQuantum added a commit that referenced this issue Dec 16, 2024
This allows removing a bunch of internal faces, improving frametime greatly when looking at a distant forest.

fixes #579

makes #823 more important, since this doubled the cost
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
experimental a feature or idea that will require lots of experimentation graphics optimization a performance problem that should be addressed or an optimization idea
Projects
None yet
Development

No branches or pull requests

1 participant