← All ideas

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?

75%

Development Status: Open

Upvote 3 Downvote 1
dfer
24 Jun 2021

3 Comments

That's already an option for Cycles, though not Eevee: pixels 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.

2
Aeraglyx

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 Size would 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 .

2
dfer Author

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 🤔

1