Grass as particles

Surprisingly, this rendered faster with my CPU than with my GPU on a gaming laptop, and with far less crashes! O_o

3 Likes

For every complex scene or animation. It helps to do some render test for time checks. It’s not always GPU is faster then CPU. It depends much on the calculation types.

Again nice rabbit.

1 Like

There’s a nice little graph here for that:

image

It depends on what your GPU is. His was a Titan 1070 I think for these tests. CPU can be much faster, though. It depends on complexity of scene as @FedPete said, as well.

2 Likes

I didn’t mention this, but it wasn’t just a render speed issue. The GPU renderer crashes with a “CUDA error: Launch failed in cuCtxSynchronize()” when my grass is enabled:

It happened before after modifying the Roughness settings on the rabbit’s fur, but my GPU could render if I kept the roughness to a minimum.

But it wouldn’t tolerate multiple grass systems at all, even with children disabled. I created 4 different grass plants, but if more than one was enabled, then I would get this error…

According to what I’ve read, this is an issue of running out of VRAM. Grass takes up an enormous amount of memory. Showing the view-port alone takes up a lot of VRAM.The way you avoid this is by lowering tile size (and unticking square samples), which in turn increases the time to render the image. This is the beauty of rendering on a multi-core CPU: you use RAM until you run out (and everything freezes). My renders all froze when they went over a reported ~3,600 MB as the CPU can only give so much RAM before it starts robbing the system of it, requiring a forced restart, but otherwise I had no issues if I was under that number (actual use is probably higher than this, but I think Blender doesn’t report every single megabyte used… my guess is that some stuff is allocated “invisibly” for running certain other processes of Blender).

2 Likes

That makes sense. My GeForce GTX 1050 has about 4GB of VRAM, though my laptop has 16GB of RAM. The total memory usage went up to 79%, with plenty of padding before the system froze. Lowering the tile size on a GPU render to 128 x 128 would render all of the grass systems without crashing, but the estimated completion time was 3 hours. Meanwhile the CPU the estimated time was 1 hour, at a 64 x 64 tile size.

That graph is really handy, I’ll have to try smaller tile sizes for the CPU render.

1 Like

Dude, if you made the 3d grass with a mesh that has tight shapes( as in, NOT squares with alpha textures, but grass blades shape) you don’t need those increased Transparency interactions…(which i believe you increased?)

Leaving at default settings in light path, my renders were taking 1 minute and 30 seconds frame size 540 x 540. I have a 1070 (not TI).
I believe yours 1050 should take a bit longer to render but it wouldn’t be hours…

His grass is not mesh, though. I don’t think what you’re saying applies? It’s the reason my 512 samples at 1080p rendered with my weak i5 3210 in just 2 hours. Also all my light bounces are reduced from 4 to 0 and 12 to 4. “Blender Guru” mentions in his posts that there is no point in having more for realism unless it’s a super complex scene. And I have indirect clamp set to 1 (or I get crazy “fireflies” due to lack of well-defined light rays).

Well, if it’s not, I strongly recommend to try “mesh grass”

1 Like

I strongly like your recommendation ;D

Privacy & Terms