Why rasterizer is faster ?


Using OptiX for raytracing, “Rasterizer is faster than ray tracer in recent GPUs on PC”, is that ALWAYS true? Considering the speed for just drawing constant colors for rasterized triangles and for primary hits (Triangle Only).

When complexity and organization of scenes changes, will the observation change? Considering rasterizer is only a small part on hardware, whereas the rest of part can be for ray tracing, are there situations, ray tracer overwhelms rasterizer? If the rasterizer always win, what are the inherent issues of ray tracer make it fail?


Depends simply on the use case and underlying hardware.

Rasterization is similar to shooting primary rays only and since these are very convergent the performance is great and there is no overdraw inside the ray tracer, which comes at the expense of the BVH traversal.

>>When complexity and organization of scenes changes, will the observation change?<<

Simple thought experiment:

Imagine a simple scene setup with 1 million instanced spheres, each consisting of 100,000 triangles, gives 100 billion triangles in the scene.
Let’s assume a rasterizer can handle 1 billion triangles per second, then this scene would need 100 seconds to raster just because of the vertex load, mostly independent of the viewport size or overdraw.
Now in a ray tracer (store the sphere geometry only once and instance it a million time otherwise the memory for the BVH would blow up) the same case would scale with the viewport size.
I’ve rendered a scene like that with about 1 fps at 1024x1024 some years ago, and that was with a specular material and multiple bounces.
See the “Instancing with Transforms” image on slide 5 here: http://on-demand.gputechconf.com/gtc/2016/presentation/s6244-roettger-optix-mdl.pdf

Throw in some features like reflections, transparency, refractions, shadows etc. and the amount of work to emulate that in a rasterizer accurately(!) will become unwieldy where ray tracing handles this naturally.