Does rendering at higher resolution require more resources?

Aside from render times, is it more taxing on any hardware?

Does it require more memory?

Thanks :slight_smile: Sorry for simple question

Hi.
You can verify this for yourself with some CPU and GPU monitor.
In theory not for Cycles. But Eevee uses more vRAM the larger the resolution output.
Compositing nodes can also use more memory the larger the image resolution.

Edit:
There is a clear exception to what I said about Cycles, when you use procedural maps and especially with adaptive subdivisions. You read what @Lumpengnom has been saying.

Yes. For Eevee and Cycles and any other render engines.

No, not in cycles (regarding vRAM/RAM usage and output resolution)

Wouldn’t this depend on if you have resolution depending things like procedural maps and adaptive subdivisions on?

Any specific scene you can share for testing? vRAM does not change with different output resolution in the Blender benchmark scenes in my tests (GPU render, without compositing stage).
All of us can test. GPU-z on windows and for Linux: watch -n 0.5 nvidia-smi

When image resolution high, then filter size is high, and you need more VRAM. Especially when use Compositing and Denoising.

“640 x 480” = 640 x 480 x 32 x 4 = ~ 5 MB

“4096 x 4096” = 4096 * 4096 * 32 * 4 = ~ 256 MB

“4096 x 4096” HDR image (32 x 4 channel) needs 256 MB VRAM.

The user talked about rendering stage. I made the clarification about compositing in my first message.

Read my message again.

Either me or you are confused. What I understood about what the user was asking is about “Output Properties” tab, “Dimensions”, and not about the resolution of the images or textures that you use.

This is output resolution, not texture. When a program show a picture on the screen, it copies this image to VRAM.

Take a scene with a 16k HDRi if you want. Use the exact same scene during testing without changing textures. You only change Output Properties > Dimensions resolution during test (rendering only, not compositing). Dimension 100% and 500% for example both use the same amount of vRAM while rendering in my tests. I cannot verify what you say.

1024 x 1024 = 888 MB

8192 x 8192 = 915 MB (this is change when render period time to time)

8192 x 8192 =1146 MB and increasing (with Denoising)

Cycles saves render result in the system memory and when need, copies to VRAM. Look “System Memory Usage” when render.

High resolution needs high RAM and VRAM (based program codes).

Same, impossible. I am graphic programmer and you are never say output resolution does not change RAM and VRAM usage. You can decrease use with advanced techniques but never be same.

Apparently GPU-z does not show discriminated blender process vRAM usage? That little difference in global vRAM usage may be because you have some other instance of Blender or another program open. I can’t verify what you say with nvidia-smi on Linux and blender process vRAM usage.

Is it as significant as what you said before?:

I really think there is no change in vRAM usage. The only doubt I have is about procedure textures and adaptive subidivison @Lumpengnom mentioned. In principle it sounds logical that there is some change in vRAM in that case. But I’m not sure if with output resolution.

You can try by simply adding a torus or something and displace it with a noise map with true displacement.
Set features to experimental and give the torus a subdivision surface modifier and set it to “adaptive”.
Render it at 100% and 200%.
The 200% image needs more VRAM.

It seems logical that it would use more VRAM because if the image is larger the adaptive nature of the modifier has to create more geometry in order to achieve the same per pixel density as it needs to with a low resolution.

The same should be true for procedural maps in general. If a procedural is closer to the camera, or larger because it is rendered to larger resolution it needs to calulate more detail.

Yes, the case you say sounds logical. But I’m really not good with procedural textures and adaptive subdivision stuff.
Could you upload that simple scene here?

You can not notice, because Cycles works tile by tile, but on the background, this changes. When render 8K, System Memory increase easily. For Eevee, this is realtime render engine and it wants speed, and it stores most of things in VRAM, not RAM.

I’m not sure what you mean. I did not notice any difference from strange vRAM usage spikes during tests when comparing different output resolution.
Obviously, comparison in tests is using exactly the same scene with the same tiles sizes configuration.

Use low RAM PC and use any graphic card with low VRAM, you will notice.

Sure. In the attached file there are two objects. TorusDisplacement and TorusVoronoi.
TorusVoronoi is hidden.

TorusDisplacement has an adaptive subdiv modifier and a noisemap in the displacement slot. You notice a differnect in memory usage if you go from 100% resolution to 200%.

Now hide TorusDisplacement and unhide TorusVoronoi.

TorusVoronoi has no displacement and no adaptive subdiv modifier. Only a bunch of differently sized voronoi maps mixed together. The difference is a lot less noticable but if you go from 100% to 600% you notice a difference.

VRAMUsage.blend (1.3 MB)