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

qbvh and other bvhs #23

Closed
tigrazone opened this issue Sep 27, 2021 · 6 comments
Closed

qbvh and other bvhs #23

tigrazone opened this issue Sep 27, 2021 · 6 comments

Comments

@tigrazone
Copy link

Is qbvh fast in traverse?
Is qbvh builder use sah and bins on building stage?
Is qbvh faster then others?
Which bvh is faster in traverse and building and quality?

@jan-van-bergen
Copy link
Owner

jan-van-bergen commented Sep 27, 2021

The QBVH (4-way tree) and CWBVH (8-way tree) are both constructed by first building a 2-way tree (using full SAH, no binning yet) and then collapsing it (also based on SAH).
The time it takes to collapse is negligable compared to the first building step.

On my laptop (with a Geforce 845m) the frame times for Sponza are as follows:

BVH Type Time
BVH 416 ms
SBVH 402 ms
QBVH 210 ms
CWBVH 92 ms

So each BVH is about twice as fast to traverse as the previous.

@tigrazone
Copy link
Author

Is your CWBVH build code is good without enable_bvh_optimization?
or for CWBVH building enable_bvh_optimization is needed?
optimization took too much time

@jan-van-bergen
Copy link
Owner

No BVH optimization is not strictly needed for good performance, but it can be used to squeeze out the last bit of performance at the cost of more preprocessing time.
I guess I should actually disable it by default to get faster startup time.

@tigrazone
Copy link
Author

One more question. Did CWBVH faster then sbvh in traversing?

@jan-van-bergen
Copy link
Owner

The SBVH is also a 2-way BVH, so the CWBVH is significantly faster.
I've updated my previous comment to include SBVH in the table, as you can see its only slightly faster than standard SAH BVH

@tigrazone
Copy link
Author

Thank you for answers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants