Ability to set sampling *below* 1 sample per pixel for EEVEE / Cycles
When working with complex shaders, particularly volumetrics etc, the viewport can drop below interactive speeds, even with
eevee.taa_samples
set to 1 (1 per pixel).
One workaround is to scale the viewport smaller, which speeds things up - but leaves you squinting at a tiny postage-stamp-sized viewport.
Is it possible to extend the range of the sampling options downwards? That would make heavy shaders much easier to work with!
I'm not sure how the numbering would work - one possibility is
- 2: 2 samples per pixel
- 1: 1 sample per pixel
- 0.5: 1 sample for each 2x2 pixel block
- 0.25 1 sample for each 4x4 pixel block
Another option, if you prefer to keep the samples as an integer, would be to add a dropdown that defaults to
samples per pixel
but you can set it to
pixels per sample
if you want to go all pixel art to improve performance.
What do you think?
3 Comments
That's already an option for Cycles, though not Eevee:
There's also a similar option for Eevee volumetrics specifically - Tile Size under the Volumetrics tab in the render properties. Though yes, that doesn't solve shaders, and I've made some pretty laggy procedural shaders in Eevee.
Personally, I think i'd prefer a bit more flexible options like 1.5x, as just switching it to 2x (essentially half resolution
per dimension
) can make things insanely blurry, even if it improves performance, but I guess the bigger options are meant for 4k monitors and such.
I'm not sure about less than 1 sample (btw 1 sample per 2x2 block would technically be 0.25, since it's 1 sample per 4 pixels, 4x4 -> 0.0625). But something like
Viewport Pixel Sizewould be very welcome. 1+ integer. I wouldn't combine them, rather have both Samples AND Pixel Size. Let's say you set your "pixel size" to 4 - that's 16x speed improvement (in theory), so you can use more samples and still have faster viewport (just way blurier of course). Also here .Ooh that's a cool idea.
Hmmm you're right about the 0.25. I do think it's a useful thing to be able to do but I'm not quite sure what the UI and numbering should be for it :-) Maybe you're right that it should be a separate integer, although that risks getting a little overwhelming! Also there's some merit to the idea of it being a property of the viewport rather than the render settings, that might be even more confusing though 🤔