Out of memory ? How to fix it ?

What is mainly the cause of going out of cuda memory ?

  • Too many objects ?
  • To many textures ?
    -To large textures ?
    -Samples , bounces, caustics … other render parameter ?
    -render size ?
    -triangles ? faces… ?

I guess probably all may have an influence… but which are likely to be more memory expensive ?

Thanks!

i got a gtx570 and my scene has 307.000 tris, and 600 objects

Should i turn my images to jpg instead of png ?

http://s7.postimg.org/jzghno92z/barnew2.jpg
bilder kostenlos

2 Likes

It’s mainly the amount of geometry and the size/number of the textures that increase memory on my machine (using CPU mode but the concept is mostly the same). I don’t think changing the format and bounce settings will have any sort of effect.

Look through the scene though, are there any ultra high-res textures that you can safely lower the resolution of, are there any objects where you can pare down the subsurf without noticeable quality loss? Also look for groups of objects that can be replaced with a instances of a single object (potential big memory savings there), and geometry that you can afford to make heavier use of Ngons on (reduces the triangle count to the absolute minimum and can also save memory).

Textures have always been my problem here - it seems like it depends on if you use arrays or actual dulpicates that the memory climbs as well, but if you can manage to make alt-d instances with no subsurface modifiers on, then the memory stays low.

1 Like

You can switch to CPU mode in Cycles and it should render fine (slow of course). Or render in Blender Internal instead.

Looking at your image I would turn off that ivy and see if you can get the rest of the scene to fit in the memory of your card. Then turn off that wall geometry too. Keep turning off objects in the Outliner until it fits in memory. And start thinking in passes. Which really does take away from the speed benefit of GPU rendering. All of sudden we find our selves implementing work arounds constantly in order to “benefit” from this new marvelous GPU rendering. When in fact if we just let the thing run slowly on the CPU we might actually save ourselves some time.

The official solution is “buy a better graphics card.” It is like the Blender Foundation has adopted this Apple mentality of just spend more money and abandon old stuff.

the small river stones on the wall could be instances… now they are just single objects because they have a material that gives them random shades of gray… what do you mean by making them into instances ? with alt-D ?

Thanks !

Yes, alt-d is instances - Derek taught me about this, using alt-d instances without subsurf had no memory increase on my scene, but if I added subsurf I got a spike for every instance. Try it out in a simpler scene of cubes, and see if that might be something you can incorporate in your workflow somewhere to lighten the load.

1 Like

Any idea on how to convert those 300 or so stones (which are now many meshes inside one object) into instances ?

i need somehow to get the center point of every mesh loose part, that can be done via “p” separate loose parts and then origin to geometry…

then i need to place there instances of one stone… any ideas ?

Thanks…

Two outliners for groups, one group is the multiples, one is the instances, and then use them to do the selection so you can select a numerically sequenced object, snap to it, and then select the new instance and snap it to the location… sounds like work no matter what

As you can see it comes down to time. Why not just render it in CPU mode? Then you don’t have to change your scene. Make the computer do the work, not yourself. Also if you render in progressive mode you can set your samples high and then just “break/stop” the render when you think it looks good enough to be considered done.

For the different colored stones you can use the random output (one random number from 0-1 per object) combined with a color ramp, maybe check out this video if your not familiar with the process: http://cgcookie.com/blender/2013/10/03/tip-randomizing-leaf-color/

Can’t you just change the mesh to the same base for each stone? Name one of the meshes something that starts with ‘A’ and then for each stone object give it that mesh.

How much memory does your GTX 570 have? I’ve seen some models limited to as little as 1.2 GB of RAM, in which case, I can definitely see your scene eating it.

CPU rendering is your savior here. Don’t see why people hate on it myself. CPU rendering in Cycles is far faster than attempting to utilize raytracing effects in BI.

Hii I’m working on a 3d scene which have same object multiple time and that object is complex. I used to Shift+D for make that multiple objects. I’m having trouble with rendering and keep showing out of memory. I would like to know that will Alt+D duplicating solve this problem.
Thank you.

Alt-D Linked Duplicates can very well save memory in scene as long as they don’t have SubD modifiers.

2 Likes

Thanks bro it reduced my 435MB blender file to 76MB… Thanks a Lot.

1 Like

Very welcome, I was grateful when I learned about it when I was making heavy scenes as well.

A “duplicate” is a literal copy of everything. Which can eat up resources in a hurry. A “linked duplicate” is merely a reference to the one actual object instance. There is only one copy of the object data.

1 Like

Too many polygons and too many textures.

Separate your scene and combine after renders.

Yes … “compositing” is always a classic solution.

Basically – there is only so much that any computer can do “all at once.” But there are always alternative work-flows available which find a different way to get to the same destination.

This is only solution. A professionnal studio never try take render a complex scene by one time. You must think what I have, and how use this for best efficiency.

1 Like