Secondary diffuse bounce much more slower back

Board: Board index Raytracing General Development GPU

(L) [2014/02/23] [lion] [Secondary diffuse bounce much more slower] Wayback!

I've notice that secondary diffuse bounce + sunray around ~5 times slower than primary diffuse hit + sunray (complex scenes, 1xGTX680). Probably because of rays coherency and cache.
Is it normal situation or I do something wrong?
If it's true question what to do with it... I have in mind use SVO or low-poly lod for secondary diffuse bounce.
(L) [2014/02/23] [Dietger] [Secondary diffuse bounce much more slower] Wayback!

Did you take a look at [LINK https://mediatech.aalto.fi/~timo/HPG2009/index.html]?
Looking at their stats the raw ray throughput of diffuse rays is probably more like 2x/2.5x slower than raw primary ray throughput on Kepler. This is the performance of a trace-only kernel, not including any shading, but it at least suggests that your 5x cannot be fully explained just by ray coherence.
(L) [2014/02/23] [lion] [Secondary diffuse bounce much more slower] Wayback!

Dietger, no, I didn't seen this, thanks.
May be it's because of shading, GPU-Z shows 98% CPU load and 10% memory controller load, also it's scene dependent, and even point of view dependent.
Event 2.5x already reason to think, we do not need much precise for secondary diffuse bounce, so we can accelerate it somehow, any suggestions?
(L) [2014/02/25] [lion] [Secondary diffuse bounce much more slower] Wayback!

Thanks again for the link, I've found why [LINK http://code.google.com/p/understanding-the-efficiency-of-ray-traversal-on-gpus/] only 2..2.5x slower: RayGen.cpp->RayGen::randomReflection simulates numSamples diffuse rays from same origin, not real diffuse path segments. I compare it in similar condition - my implementation bit slower, but  not much.
PS: sanmiguel.obj is perfect test scene for traversal [SMILEY :D]
PPS: I've try sanmiguel.obj with embree on CPU and in shows almost same performance for primary rays, lol. May be it's not so crazy idea make second diffuse traversal on CPU?
(L) [2014/02/26] [mpeterson] [Secondary diffuse bounce much more slower] Wayback!

>> PS: sanmiguel.obj is perfect test scene for traversal
PPS: I've try sanmiguel.obj with embree on CPU and in shows almost same performance for primary rays, lol. May be it's not so crazy idea make second diffuse traversal on CPU?
..and you can write kernels that can run twice as fast as embree+ispc on the same hw. for a full renderer there is no perf-diff. between a dual cpu and a titan (if you do it right + real scenes). so taking next gen of cpus into the game this is a obvious options, mp.

back