By: Beastian (Beastian.delete@this.aol.com), August 1, 2016 9:33 pm
Room: Moderated Discussions
Philip Taylor (philip.delete@this.zaynar.co.uk) on August 1, 2016 5:30 pm wrote:
> Wanderer (blue.delete@this.blue.blue.blue) on August 1, 2016 5:08 pm wrote:
> > Interesting. But...
> >
> > What's the flicker during each static render setting?
> >
> > And is it a pixel shader that counts each pixel in each rendered
> > tri, and cancels draws beyond the threshold sum?
>
> The pixel shader (running per pixel per triangle) increments a global atomic counter, and only draws
> if the counter is below a threshold, so it shows you which pixels were shaded first. It flickers
> because thousands of concurrent shader threads are racing to update that counter, and ones near the
> threshold will randomly (differently on each frame) end up just above it or just below it.
Thanks for the explanation. What makes the flicker pattern so regular rather than noisy? Is it that they're bundled into 32 thread warps or SM scheduling patterns?
> Wanderer (blue.delete@this.blue.blue.blue) on August 1, 2016 5:08 pm wrote:
> > Interesting. But...
> >
> > What's the flicker during each static render setting?
> >
> > And is it a pixel shader that counts each pixel in each rendered
> > tri, and cancels draws beyond the threshold sum?
>
> The pixel shader (running per pixel per triangle) increments a global atomic counter, and only draws
> if the counter is below a threshold, so it shows you which pixels were shaded first. It flickers
> because thousands of concurrent shader threads are racing to update that counter, and ones near the
> threshold will randomly (differently on each frame) end up just above it or just below it.
Thanks for the explanation. What makes the flicker pattern so regular rather than noisy? Is it that they're bundled into 32 thread warps or SM scheduling patterns?