Blender's Render Simplify
TheMysteryIsThePoint
Posts: 2,958
I just wanted to make sure that everyone knows about the "Simplify" section on the Render tab. By just limiting the texture size to 512, this scene went from 22 gigs to 3.5 with no noticeable change in image quality. Kind of puts all the 4 and 8K textures in perspective as the debates over GPUs' VRAM capacities rage on...
Post edited by TheMysteryIsThePoint on
Comments
Interesting. Can you post a comparison?
That is really amazing! Now all we need is adaptive simplify, where texture gets resized based on the distance to camera. Unless this already happens :)
There was a Blender Guru video on how to do that with geometry, I can't remember if it worked with texture maps. In any case, sounds like a good idea for a script, hmmm...
Sure, I'll post the original, but it'll be anti-climactic because, like I said, I can't see any significant difference...
VRAM usage was 23.2 gigs versus 3.5
The only area where I discern a difference is around the trim of the red fabric under the barding, and some shadowing on the sand dunes in the background. But if I recall, last night I upped the max res to 2K and it came in at 8 gigs, which still fit on the GPU. The point being that there is a really easy way to scale the scene until it juuuuuuust fits on the GPU.
Edit: Added 2k image, 7.45 gigs VRAM usage.
I actually see noticable texture detail differences between the original and the 512k one, and this scene is also quite dark from this angle. I wouldn't quite jump to the conclusion that this will negate the need for high-res textures.
Fair enough, but the question is not high-red textures for their own sake, I generally don't care what the resolution is, but rather whether it fits on the GPUs (three minutes to render at 4K) or not (90 minutes to render). I started at 512 just to see what it looked like, iteratively bumped it up until it didn't fit, and then backed up one to end at 2K.
I think @Paintbox has a great idea only complicated by the fact that different materials at different distances from the camera or even behind it, may use the same texture map. And of course, the simplify feature is non-destructive.
Right, and like you said, Simplify does seem like a very useful feature. Like Scene Optimizer for Studio, but more simple and free. :)
LOL, most graphic cards attempting to even render 8K displacement maps:
Yeah, I always use simplify but usually keep it set to as close to the render size I'm trying to do. Like if I'm trying to do an animated sequence, I set it to 2048 (or whatever the closest to 2000 is that's the option) and I've never seen any difference quite honestly. Haven't tried 512 yet though.
Yeah, I had heard about it a long time ago and I just got around to experimenting with it recently, because I had no idea it was so effective. 23 down to 8.5 at 2K? That's crazy... what the heck are the Daz PAs (god bless 'em though) doing? I've been rendering the frames on the CPU for nothing because it never occurred to me that all my VRAM problems would be solved by checking a checkbox.
Heck, with a 3090 I could probably choose 4K, and I'm really going to look into @Paintbox idea.
That's cool if you could implement it. It's basically what Scene Optimizer does, but automagically.
How is this different than changing the "Texture Compression" settings in Iray?
Keep in mind that simplify for texture resolution works only for cycles. As for eevee you have to resize by hand. As for "adaptive simplify" it's called mipmaps. I can find very litte on blender mipmaps and I'm not sure if it's implemented at all or it's just on the todo list. If anyone has better info I'd be interested myself thanks.
https://wiki.blender.org/wiki/Source/Render/Cycles/Roadmap
It's not adaptive. Adaptive meansthe texture size and compression changes according to different parameters, based on the distance to camera. So a texture at the back of a street might become 128x128, while textures closeby are fullsize.
This would be done just before rendering.
That's something that should be built into DAZ Studio because too many iRay renders are doing those closeups of one eye as their avatar that requires the 8K maps. Just joking but it would be nice to have a feature like that in DAZ Studio.
And the GPU driver's backend has to uncompress the texture into VRAM, anyway. It's only compressed to speed up transfer.
Ah. I didn't realize this was adaptive. Neat!
But if the fullsize if that you sent is already optimized, you gain afaik
Everything I found seems to be conflating the term "mipmapping" with interpolation. The only reference to the term as @Padone explained it that I found was a youtube video of a node someone was working on, from 2014.
@TheMysteryIsThePoint The term is right then I agree there's some confusion in the blender discussions. It's funny to see mipmapping and microdisplacement fully implemented in an "old" engine as 3delight. While in cycles it seems only microdisplacement is implemented as experimental feature. Let alone iray that gets none.
Sorry for necro'ing, but I have a bout of insomnia and you guys are down on your luck =P
There's nothing "funny" about it. Of course a pro-grade movie industry renderer with twenty years of history of innovative development will have the most efficient texture processing. And microdisplacement in 3Delight has long been considered amazing in comparison to other "big name" renderers, so it's not just Cycles or Iray that are "missing out".
Iray is basically a glorified NVIDIA tech demo, to put it bluntly. It's a bit counterintuitive to expect NVIDIA to add mipmapping to Iray when the main point of this renderer is to get the user to buy the latest NVIDIA card with as much VRAM as possible :D
Mipmapping has long been used in gaming, BTW - at least I remember it being very much a thing when I messed around with modding Oblivion back in the day.
"Simplify" can work well, but it is a blunt instrument.
With Blender 3.X, you will be able to use geometry nodes to "Switch"(change) geometry/objects/materials/textures etc, based on (as example) distance from camera.
Hi regarding simplify aside from checking the "simplify" checkbox do you have to do something else? was it also applicable to video renderings? thanks.
https://bitbucket.org/Diffeomorphic/import_daz/issues/377/how-to-resize-textures-with-eevee
Thanks alot will try this and see the difference.