Saturday, April 21, 2012

Slight Optimizations

I've managed to improve the acceleration speed a bit by moving bounding boxes to fixed-point format in the index texture (so that they're adjacent to the other information in their corresponding cells), as well as by making the traversal algorithm smarter and leaner.  Still, I haven't achieved that order-of-magnitude speedup that would seal the deal once and for all.  Seriously, if I could just get 5-10x faster, I would cast away PBRT forever.  But I can't just yet.  And I'm not sure where I'm going to find that kind of speedup, but, given how unpredictable GPU optimization seems to be, I'm hopeful that it's lurking somewhere, just waiting to be tapped.


That's a super-high-res ship (half a million polys), and it took about 15-20 minutes to render (~1200 SPP).  At least I now know that high geometric complexity is possible with this tracer (I strongly doubt that we would have seen that kind of performance from the uniform grid).

No comments:

Post a Comment