2

I have been working on the scene for the last few weeks, I have done a quick experiment with a camera following the path and since then Blender won't render from any camera, unless it's set to CPU. I have a really good graphics card and there were no problems with rendering with GPU at all before I set this camera to follow the path. It seemed to mess some settings up... When I try to render in a GPU mode it only shows the blank grid (screenshot attached). enter image description here

It takes it about 40 seconds, then it stops rendering, the screenshot 2 message shows in the top window and the image stays blank. enter image description here enter image description here Another thing that has changed since I've made a camera follow the path are the transform settings, they were green, then I must have done something and they're not green anymore.

Hope it all makes sense!

Justyna
  • 21
  • 1
  • 3
  • 2
    Have a look at the console. It usualy contains more detailed error messages. If you console is not shown, click the 'Window' menu on the top of the blender window and select 'Toggle System Console'. My guess is that your graphics card has not enough ram available for CUDA. The rendering window shows that the scene uses more than 2.5GB of ram. Together with other applications and Windows this can even fill a 3GB graphics card. – maddin45 Jun 06 '14 at 08:27
  • Hi, thanks for you answer. The console doesn't show any errors, but it is quite a large file. I will try and maybe delete some stuff and see what happens. – Justyna Jun 06 '14 at 09:44
  • If you have many duplicate objects try to copy them using instances ([Alt]+[D] instead of [Shift]+[D]). Then the actual geometry is only present once on the GPU. – maddin45 Jun 06 '14 at 09:47
  • Ok, I will give it a go... Another thing that keeps appearing from time to time is my transform panel, Location, Rotation and Scale options are green, any idea what that means? I'm quite new to Blender so once something goes wrong I'm not sure how to fix it or what causes it – Justyna Jun 06 '14 at 10:00
  • If some property turns green, this indicates that it is keyframed. If you are exactly on a keyframe it will become yellow. The keyframes used for coloring are always those of the currently active object. – maddin45 Jun 06 '14 at 10:06
  • Ah, of course, makes sense. Thanks a lot, I'm replacing some of the objects the way you told me and it seems to work a bit better – Justyna Jun 06 '14 at 10:20
  • Does it solve your problem? If so, I will create and answer out of it so we can close this question. – maddin45 Jun 06 '14 at 10:38
  • Well another problem just appeared, if I duplicate the elements by pressing ctr + D it does it, however, when i save and reload the file it disappears. Any idea what I can do about it? – Justyna Jun 06 '14 at 11:41
  • I guess you mean [Alt]+[D]? [Ctrl]+[D] does not do anything when I press it. Saving and loading works fine for me. If this problem keeps appearing please put it in a new question, since this discussion becomes quite long ;) – maddin45 Jun 06 '14 at 12:19
  • Closing all other apps can help make more video memory available for CUDA. If you're really close to the memory limit this can sometimes be enough to make a difference. – Andy J Buchanan Jun 06 '14 at 14:55

2 Answers2

6

The rendering window shows that your scene is more than 2.5GB big. Together with other applications and Windows this can even fill a 3GB graphics card. Your graphics card probably just can't provide enough memory for CUDA.
If Cycles can not get enough memory, it will not render. If you are rendering on the CPU, Cycles can use the system memory which is usually much larger. This is why you can still render in CPU mode.

To reduce the memory needed to represent a scene there are a few tricks:

  • Using instances: When you duplicate objects that will have the same geometry, do so by pressing Alt+D instead of Shift+D. This will duplicate a mesh as an instance: The mesh data only exists once, it is just used with another transformation. If you look at the mesh data of your object you will see that it has multiple users now:
    enter image description here
    You can also set the mesh data an object uses by clicking on the icon with the three vertices and selecting the mesh you object should use. Setting all objects to the same mesh will have the same effect as if they were copied by pressing Alt+D.
    enter image description here

    • Reduce texture size: While this is not the most beautiful option, it will save much memory. Textures are quite big if they are unpacked in memory. They are not compressed like .jpeg or .png anymore. Look for objects that are small or off in the distance. Large textures are typically not visible there anyways.

    • Use procedual textures: Some image textures can be replaced by procedual textures, especially random noise bump maps and such. While creating procedual textures requires some extra computations, they do not need much memory since their data is only calculated when needed.

In general it is also good to have a look at the console. It usualy contains more detailed error messages. If your console is not shown, click the 'Window' menu on the top of the Blender window and select 'Toggle System Console'.

maddin45
  • 4,804
  • 16
  • 21
0

Of course you have to turn it on in the User Preferences under System via CUDA button (Cycles Compute Device). The Camera Render Device on GPU Compute pull down is grayed out if not enabled.

There are other GLSL options that speed up subdivisions for animation morphs and that is also turned on per object.

It seems the CUDA setting is not saved with the file, and you have to remember to turn it on manually.

Master James
  • 299
  • 2
  • 9