I E

Sunstone dev log 17: multisampling

I enabled multisampling. The render looks a lot more polished now:

No multisampling
4x multisampling

Unfortunately each frame got ~4x more expensive to render. Without multisampling, Bistro renders at ~20FPS. With 4x MSAA it’s running at ~5FPS. I think that means my renderer is fragment-bound.

I suspect that there’s a lot of redundant fragment shading, and that occlusion culling would help. But before I try that, I want to measure the extent of the issue. RenderDoc’s overdraw overlay doesn’t measure what I want; there are pixels that it marks having a single draw in the render pass, but these pixels are shaded many times according to the pixel history. So I’ll have to add my own fragment shader overdraw recording. If the average per-pixel overdraw is greater than 2 (with MSAA off), then occlusion culling could at least double the speed of fragment shading. The question then is whether the time taken by occlusion culling is paid for by the decrease in fragment shader calls.

What I built

What I learned

Next steps

← Sunstone dev log 16: depth in depth Newest