Hair particles - Lower steps = longer render times?

I have tried this in 3.01, 3.1.2 and 3.2.0
The lower the render steps for my hair particles, the longer the build time and render time. Am I doing something wrong here or is it just broken?

I started a render at 1 step and the estimated time was 90 hours whereas the estimated time at 9 steps was around 1 hour. Also, I can’t just turn up all of my hair systems to 9 steps because the GPU runs out of vram. Idk if this is relevant but B spline was checked most of the time.

So is blender broken or am I doing something wrong here?

additional info: Hair render settings were the default ones in cycles.

I don’t know if it’s the same with hair, but ray tracers like Cycles really don’t like long and narrow polygons, especially if they are in a diagonal. If I understand correctly, these renderers speed up calculations by putting bounding boxes around polygons. So, having long, narrow, diagonal faces causes the bounding boxes to become huge and overlap each other, which makes the rendering much slower. So sometimes, more geometry can make a render much faster depending on the shape and layout of that geometry.

1 Like

Thank you for the explanation. Is there any real solution/workaround for this?

I don’t know if there is anything more to be done with the particle settings. However, if you are using a complex hair material or have a complicated lighting setup in your scene, these elements could be major contributions to the render time.

By the way, is the render time for a single frame or for a whole animation? I am a bit curious about what your scene is like, the only way I could make a single frame take 90 hours would be to make the worst scene possible for Cycles on purpose.

1 Like

Single frame lmao. Something is definitely wrong here because I have a 3080ti laptop and i9

Edit: I’m gonna post the final renders in case you’re curious

Is it the character you posted on your profile?

If yes, I think the large number of mesh lights all around the character is surely not helping the render times. Mesh lights are harder to sample and noisier, especially if there are lots of them. In a case like this, I would make the background visible only to the camera and light the character using other means, like lamps or an hdri.

Or alternatively, turn the background into an hdri. Yes, you can actually create custom hdri’s using Blender. If you have a full 360 degrees environment, you can set a camera to equirectangular mode and save the picture in hdr format.

Actually the background was rendered separately and the only lighting on the character is 2 lights - 1 on the face and 1 rim light

Excellent, that’s the right way to do it for performance.

There are other things I am wondering about.

-Does this huge render time difference based on hair steps happen with both Optix and Cuda? What about just cpu? I believe Optix uses its own hair system, so you might have an actual bug.

-What about removing some elements to see what gives the biggest speedup and find if the hair is the only cause:
1-Replace hair material with simple diffuse.
2-Remove hair completely.
3-Leave hair with full material, but remove transparent objects, like the glasses and bubble.
4-Deactivate skin subsurface scattering.

-Are you rendering without denoising? That could explain the one hour time (but not the 90 hours).

1 Like

These are some great questions. I am working on a walter white piece right now and have some hair in the scene so I will try running these tests when I can and build a report.