Archive

Archive for the ‘Optimisation’ Category

Kd-tree Cache

September 16th, 2009 Romain 1 comment

I’ve just added a caching mechanism for the kd-tree.

It makes a huge difference in start-up time for complex meshes: Kd-tree construction for a 10 million triangle mesh takes quite some time (Ok, my construction routine may not be the fastest…) but once cached, rendering can start nearly instantaneously.

I’ve also noticed that kd-trees my renderer generate lend themselves to compression fairly well. E.g., the tree generated for the Stanford repository’s Asian Dragon weights around 124 MB, but a standard zip slims it down to 53 MB.

Hence, I’ll certainly add compression support to the cache.

That brings up the question: What does a high compression ratio say about a tree’s quality?