Does BB's hair shader slow rendering down?



  • @glossaphile Yes, our CPU's are different. That is not what I'm testing here. I know that my CPU will be faster than your CPU. That first render was just a baseline for comparing to your settings. I've eliminated all other factors except render settings by rendering my tests with my models and shaders. Here is my second test. Same model, shame lights, shaders etc. Only thing that is different is that I'm now using YOUR render settings. We want to see what the quality is compared to my settings and also see how long it takes to render...

    Your settings produced slightly more noise and a longer render time 68 min as aposed to 47min with my settings. Take a look.
    0_1525295294142_CPU Time Test 2.jpg



  • @glossaphile Now I would also say that even though my CPU is faster, it would in no way be the reason your render took 9+ hours and mine took 68 min with your settings. Lets say that my CPU was 2x as fast as yours (a stretch) that would mean that my render time should have been more like 5 hours. the issue is your shader settup + a little bit of your render settings.

    I'll tweak your settings and see what I come up with but the reality is that the hair shader is killing your render and the benefits it provides is not equal to the render time penalty.



  • @ghostship I usually render with a three-point light setup, so maybe add a third light if you really want them to be comparable.

    In any case, I certainly appreciate you taking the time to help me figure this out.



  • @glossaphile the extra light would not make a difference, besides, that is not what I'm testing.

    Did a couple of quick spot tests to test bucket size. I turned my hair model off in the hierarchical editor and tested the whole render again this time seeing weather or not bucket size is and issue. With hair off I did not get a significant difference in render speed with buckets of 32 or buckets of 16. When I turned the hair back on and did spot renders of just hair there was a vary different outcome. Bucket size 16 hair spot render 130 seconds, bucket size 32 hair spot render 202 seconds. The render engine is choking on the 32 pixel bucket size on areas that the hair are in. I would suggest setting your bucket size to 16 to start and see if that speeds things up. It should.



  • @glossaphile @caisson is probably 100% correct about bucket size as he pointed out. I'm sure though that there are other problems with your render. Also the fact that my setting produced less noise is an indicator of settings that are not helping.



  • My render 0_1525299643637_Pe36VCDress_0001.png
    Hair using BB's hair shader finished in 2 hours 40 using @glossaphile's settings but I have twice as many threads but his is a mobile class CPU so probably about right.

    @glossaphile with a 2 core (4 thread) CPU you need to set your threads to 4 not 8, you will lose time swapping between threads if you use more than you have available. Could you retry your 300x300 with only 4 threads?

    Do you have a separate GPU or are you using the on CPU GPU? the later is quite often the case with laptops



  • @ghostship said in Does BB's hair shader slow rendering down?:

    @glossaphile @caisson is probably 100% correct about bucket size as he pointed out. I'm sure though that there are other problems with your render. Also the fact that my setting produced less noise is an indicator of settings that are not helping.

    the SSS in BPT set to 4 is, IMHO way too high, even for a closeup portrait. My understanding is that the values in BPT multiply the base samples setting for the different rays, so BPT with all values set to 1 is the same as disabling BPT, if you set Diffuse to 4 then for 6 samples (really 36 i.e. 6 squared) you actually do 4x36 diffuse rays, I am more than happy to be corrected by someone who actually knows about this!

    @ghostship said in Does BB's hair shader slow rendering down?:

    @glossaphile @caisson is probably 100% correct about bucket size as he pointed out. I'm sure though that there are other problems with your render. Also the fact that my setting produced less noise is an indicator of settings that are not helping.

    Your settings did 1600 difuse samples, @glossaphile's did 5 * 6 * 6=180 diffuse samples



  • Well, there are only two things to actually render in the scene Hair and head. If you hide one and the remaining one renders without problem, then you at least know where the fault lies and what settings are giving you problems.



  • Using @ghostship's settings I get
    0_1525329257457_Pe36VCDressa_0001.png
    This took 2 hours 30 mins to run



  • @amethystpendant Run it with the caustics off.



  • @amethystpendant Noise is time. Look at the amount of noise in the render with his settings. That would take more samples to resolve = an even longer render. Also, try a render with my hair shader instead.



  • Test 3: my render settings and @bagginsbill hair shaders. 67 min. Procedural hair shader ads 20 min to my render (+30% render time)
    0_1525364674342_CPU Time Test 3.jpg



  • @glossaphile Conclusions:

    1. use my rendender settings
    2. use a different hair shader setup that utilizes maps instead of math nodes.
    3. as @amethystpendant pointed out you have your CPU settings wrong. Optimize them for your machine (2 core/4 thread) and turn off separate process as there was a bug with that for Superfly that made it render slower. It's really useful for Firefly but uncheck it for Superfly.
    4. max bucket size 16, anything more and you'll choke out your CPU.


  • @eclark1849 said in Does BB's hair shader slow rendering down?:

    @amethystpendant Run it with the caustics off.

    I was testing the settings provided by @glossaphile and @ghostship they aren't my settings



  • @amethystpendant As I understand it caustics wont actually increase render times, they will increase the noise IF there is stuff that shows off the effect prominently. If you got a spotlight shining through a glass of water onto a table you will see the caustics effect and that might need a bunch more samples to resolve.



  • I just tried a render with Ghostship's settings, and I don't think my computer likes them at all. A 300x300 test render with hair froze my computer to all but a standstill. I couldn't even bring up the Task Manager properly, and that was with a foreground render. When I tried to "Render in Background," I ended up having to reboot my laptop (though that may have just been a fluke).

    Plus, the end result was noticeably noisy and took roughly just as long as the same render with my own current best attempt at optimal render settings (about half an hour).

    Ghostship, I appreciate your patient help, but in this case, I think you might just be too used to dealing with a six-core processor. Either that or there's something fundamentally wrong either with my system or with my procedures. In any case, I'll be cautiously tinkering with them to see if I can come up with something that works for me.



  • @glossaphile same settings I used on my i5 2500.
    At the very least you should follow some of the other suggestions I made. They are sound. You could also lower the max bounces and trans bounces to 16 and start with a small sample setting (like 5)



  • @ghostship I did. I'm now running 4 threads instead of 8 with "Separate process" turned off. I tried lowering Max Bounces and Max Transparent Bounces to 16. My bucket size is also 16. I've even simplified the hair shader, making it a hybrid of yours and BB's. I will now try just using your unmodified shader, which I think is the only major suggestion left.



  • @glossaphile Cool. Keep us informed.



  • Okay, here's the comparison of the same 300x300 image with hair.

    With My Current Best Settings and Shader: about 32.5 minutes
    With Ghostship's Settings and Shader (with MB and MTB tweaked to 16): about 34 minutes
    With My Settings and Ghostship's Shader: about 37 minutes

    I should note that the results of using Ghostship's settings produced mild but quite noticeable noise, particularly on the skin, though I suspect that's from Reflective Caustics, which could easily be turned off.