středa, 19. ledna 2011

Optimizing

Raising performance with KD-trees is really important part of code, one has to write fast and cache-wise traversal, along with being careful at construction phase - Surface Area Heuristics is really important part, it can make ray tracer run like hell, or die (very, and I mean really very) slowly in pain.
I prefer first way, to make it run like hell - 1.54 MRays/s showed on screenshot is definitely not good! Still it uses single core, but I can do better - I mostly finished some traversal optimisations, tripled triangle count in scene (performance stood the same - so I'm definitely not triangle bound right now) ... so right now I'll focus on implementing median and surface area heuristics - instead of naive.
So next things are:
  • Median, SAH splitting in KD Building process
  • Optimizing KD-tree cache-wise
  • Optimizing traversal further
  • Doing some black magic?

0 komentářů:

Přidat komentář