0
$\begingroup$

something i really don't understand! i made different layer for my render. i have 5 layers, i set for everyone: layer to render, layer to exclude and eventualy also the mask layer.

if i render from composer editor every single node (clicking in render button in render layer node) i don't have problems!

when i start the render (f12) i have render out memory problems on last renderlayer!

every renderlayer work good but in rendering information i see the memory usage sum to previous renderlayer

example: when renderlayer1 finish mem = 100, when renderlayer2 start mem = 101, when finish mem = 200, when renderlayer3 start mem = 201!!!

in this way my GPU memory go full before finish the rendering!!!

N.B.: the last render layer is rendering just 1 layer, excluding all objects layers (keeping just layer for commons light) and have no mask layer active. if i render just this render layer i give to me 991M Mem usage. when i render this from f12 render i give me out memory over 3200M mem usage!!

i can set something for clear memory every render layer?

$\endgroup$
1
  • 2
    $\begingroup$ the only one thing i can do it's export every single layer in different file and compose again later... but is a very stressfull way $\endgroup$
    – Piedecess
    Commented Sep 22, 2016 at 11:27

2 Answers 2

0
$\begingroup$

This look like bug and all what you can do is report as bug with most accurate info as you can.

I noticed that Blender have problem with VRAM freeing sometimes. Try save every render layer separately. I recommend use multilayered .exr for keep render passes. Now you can composite everything in new .blend file. Optionally you can use other compositor like Natron or Fuse.

Last time I always use this workflow for more complicated projects. This method give me possibility easily rerender only layers I need later and without rendering everything again.

I don't thing this is "stressfull way", ultimately this can save you a lot of time. Only you must link your images smartly and work will go fast :-)

$\endgroup$
8
  • $\begingroup$ i did a multilayer file output. if i link all render layer and i start the rendering i still have the same problem! so the only one way it's to deselect last render layer. export alle the others in multilayer file and after just export last one in separate file. and compose everything $\endgroup$
    – Piedecess
    Commented Sep 22, 2016 at 13:13
  • $\begingroup$ Yes, that's the reason why you need save layers to .exr. You need close blender (for free VRAM) and open it again for render last layer. Also you can set render to CPU for last layer and check how many RAM this layer actually need. Only for info. $\endgroup$
    – Shubol3D
    Commented Sep 22, 2016 at 13:24
  • $\begingroup$ Maybe you can move last layer to first position and render everything at once. $\endgroup$
    – Shubol3D
    Commented Sep 22, 2016 at 13:25
  • $\begingroup$ i checked the last one memory it's around 800 Mb. all the other are a total (summed by blender) of 2900 Mb so for my 3Gb card it's impossible to compute. $\endgroup$
    – Piedecess
    Commented Sep 22, 2016 at 13:27
  • $\begingroup$ i think i used so much memory because i made a lot of render layer for use different quality of rendering... i have the wall (not so much quality), the object in the room (they are also computed by the wall for mask and shadow) and i have main object (high quality) and a fur object (high quality, my last layer) also i have 2 low quality render layer for particles.. so the problem is i use two time room elements (one for wall and another for object) but it have not to be a problem if every render layer blender refresh memory $\endgroup$
    – Piedecess
    Commented Sep 22, 2016 at 13:31
0
$\begingroup$

What could happen is that while you are rendering on the GPU, all framebuffers need to be present on the GPU until they are flushed. At least this would explain the behaviour you see. Blender will output the buffers once all checked RenderLayers are finished, that includes the Compositor. When you manually click the Camera icon, only one renderlayer is sent to the GPU for rendering, after that the framebuffer is flushed again.

Maybe you can get the scene to render successfully again if you try to save the tiles to your hard drive locally while the rendering is running. Check the Save Buffers option and give it a shot:

Save Buffers

Very likely this will slow down your render times, as every time a tile is finished, it needs to be written to your tmp directory, but at least it could stop the crashing.

$\endgroup$
1
  • $\begingroup$ also with Save buffers option it still to give me memory error $\endgroup$
    – Piedecess
    Commented Sep 23, 2016 at 9:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .