This patch implements precomputed dithered sampling as described in the paper "Blue-noise Dithered Sampling".
Mainly for low sample counts, such as the first few seconds of viewport rendering, the improvement in quality is substantial - especially the brightness flickering happening with regular Sobol and HDRIs is pretty much gone.
For now, the dithering matrix included in sobol.cpp isn't perfect yet - I'm currently running a 400 million iterations simulated annealing process, but that will still take about a day to finish. I'll update the patch as soon as it's here.
Because of the temporary matrix, you can still see some tiling happening at low sample counts, but with a good dithering matrix that shouldn't be as visible.