2
$\begingroup$

I've been struggling to render an interior scene (pic below), which I don't think is very complex, around 2,5M of vertices. As I had many problems running out of memory, I had to do some optimisations, this is what I've done:

  • Render with the CPU (It would take 50 hours)
  • Get rid of a couple Adaptive Subdivision and use regular Normal Maps. Now I only use it for the carpet.
  • Reduce some levels of most of the Subdivision modifiers in some secondary objects.
  • Use 1K textures instead of 3k for most objects.
  • Decrease the resolution to 1980x1250px.

With these tweakings I managed to reduce the poly count to 1,7M and, most importantly, to render the entire scene using around 4GB (I have a 1060 6GB, so there's no much room).

I tried to increase the resolution to see how much I can get, so I've tried to increase it by just 15%. When starting, the memory usage is higher but no errors, it's still below 4.7GB which It's the limit for my graphics card. But when it reaches a specific tile the memory usage increases to... 22GB!

Why does increasing the resolution this little produce a huge difference?

This is the scene:

the scene

And here's the screenshot of the error:

enter image description here

The .blend file is(90MB)

I've uploaded it to Dropbox, here's the link.

Thanks in advance,

$\endgroup$
  • $\begingroup$ Split your scene into multiple render layers, that should help you the most. I also doubt texture size is the problem. $\endgroup$ – Jaroslav Jerryno Novotny Apr 26 '18 at 21:10
  • $\begingroup$ @JaroslavJerrynoNovotny How do you set up the different layers in an interior scene? I mean, everything interacts with everything, right? $\endgroup$ – cuoka Apr 27 '18 at 9:33
  • $\begingroup$ Yes, you trade off some photo-realness. You split objects that do not influence each other much and you fix anything in postproduction. It's not like you are publishing the raw render, there is some tuning and enhancing anyways. I know it's not the best advise, but it's hard to help. It is weird that your render would spike this much for a single render bucket. And imho you should be able to fit an interior scene under 6GB. Hard to tell without anything to debug. $\endgroup$ – Jaroslav Jerryno Novotny Apr 27 '18 at 10:40
  • $\begingroup$ @JaroslavJerrynoNovotny I've uploaded the blend file to Dropbox in case you want to take a look. $\endgroup$ – cuoka Apr 27 '18 at 11:40
  • 1
    $\begingroup$ After looking at the file I think I know, try disabling Denoising. Now your every render tile should consume the same amount of memory. Why it does what it does is here. To denoise you can use Topaz Labs Denoise or other post-production denoisers. $\endgroup$ – Jaroslav Jerryno Novotny Apr 27 '18 at 15:45
0
$\begingroup$

If you see memory usage changing while rendering, it could be because of Denoising enabled, try:

  • lowering the render tile size
  • changing the tile order (from Hilbert to Left-to-right), so the minimum number of tiles are kept in memory
  • disabling Denoising altogether

Explanation why extra memory has to be used for denoising is here:

Why does Denoising take up so much memory?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.