Render Speed Tribulations

I am certain everyone has gone through a similar trial of trying to get their render times as low as possible, but I am sure I am doing something wrong.  I have a decent rig, but my render times are atrocious!  I set up the same scenes as are shown in the tutorials and am getting times that are 100s of times longer.

I have an Intel i7-4790 with 8 cores, a gtx 1050 Ti, and a whopping 32 gigs of system RAM.  Yet rendering a scene with two characters and two lights will often take a minute or two per iteration.  Yes, per iteration, not per frame!  I have had my system completely lock up (no mouse movement) for 30-45 seconds while it struggles with rendering.  I see a similar scene in a tutorial that hits 200 iterations in a minute and a half, and my system is still on iteration 3.  I MUST be doing something critically wrong, mustn't I?

It also chugs just in the normal viewport.  With a couple of characters plus hair and clothing I generally am reduced to shaded wireframe mode.  even a single figure takes 30-40 seconds to appear in iray, and maneuvering the camera forces a 5-10 second hitch.

I have gone into render settings and set both iray devices (photoreal and interactive) to the 1050 only.  The render log shows that it is using the 1050 as device 0 (whatever that means).

Comments

  • Device 0 is just the first device - computers usually count starting from 0.

    Have you tried the Iray benchmark scenes, or one of the Ready to Render scenes that come with DS? How long do those take to render? https://www.daz3d.com/forums/discussion/53771/iray-starter-scene-post-your-benchmarks/p1

  • Ok, That haswell I7 is 4 years old and is only going to be ok these days, its roughly an i3 at this point.

    the 1050ti, I hope its the4Gb version, is also just only ok for rendering.

    32Gb of RAM is just overkill on this system for Daz, it may make a big difference elsewhere I have no idea what else you do with it.

    A minute or two per iteration strongly suggests to me that the scene dropped out of the GPU into CPU you need to bring up task manager during a render and see whether the GPU is acttive. Open task manager, go to the performance tab and scroll down to the GPU. If there isn't a lot of activity on the 3d graph that means the GPU memory was overloaded and the render is being done on the cPU which would explain those terrible render speeds.

  • fastbike1fastbike1 Posts: 4,078

    Plus, the 1050 TI only has 768 CUDA cores.

    Even two characters and two lights can be challenging for several reasons:

    Not enough light

    Close ups, with high subD, detailed hair, etc

  • Device 0 is just the first device - computers usually count starting from 0.

    Have you tried the Iray benchmark scenes, or one of the Ready to Render scenes that come with DS? How long do those take to render? https://www.daz3d.com/forums/discussion/53771/iray-starter-scene-post-your-benchmarks/p1

    I rendered that scene (good tip I didn't know that existed) and it took 12 minutes 44 seconds, which seems very long compared to the times the other folks in the thread are posting.

  • Ok, That haswell I7 is 4 years old and is only going to be ok these days, its roughly an i3 at this point.

    the 1050ti, I hope its the4Gb version, is also just only ok for rendering.

    32Gb of RAM is just overkill on this system for Daz, it may make a big difference elsewhere I have no idea what else you do with it.

    A minute or two per iteration strongly suggests to me that the scene dropped out of the GPU into CPU you need to bring up task manager during a render and see whether the GPU is acttive. Open task manager, go to the performance tab and scroll down to the GPU. If there isn't a lot of activity on the 3d graph that means the GPU memory was overloaded and the render is being done on the cPU which would explain those terrible render speeds.

    I checked the task manager on the test scene and the CPU was hovering around 20-30% and the GPU between 12-30%, with little bursts up to 80%

    I need the RAM for Unreal editor, which is where I work most of the time.  It is the 4gb 1050.

  • fastbike1 said:

    Plus, the 1050 TI only has 768 CUDA cores.

    Even two characters and two lights can be challenging for several reasons:

    Not enough light

    Close ups, with high subD, detailed hair, etc

    Well, there is lots of light, but definitely also lots of subD and detailed hair.  But still... 2 minutes per iteration?

  • Device 0 is just the first device - computers usually count starting from 0.

    Have you tried the Iray benchmark scenes, or one of the Ready to Render scenes that come with DS? How long do those take to render? https://www.daz3d.com/forums/discussion/53771/iray-starter-scene-post-your-benchmarks/p1

    I rendered that scene (good tip I didn't know that existed) and it took 12 minutes 44 seconds, which seems very long compared to the times the other folks in the thread are posting.

    I think that'ss lower than mine, with an i7 920 and a 4GB 750Ti GPU, so it does sound as if soemthing other than hardware limitations may be in play.

  • Ok, That haswell I7 is 4 years old and is only going to be ok these days, its roughly an i3 at this point.

    the 1050ti, I hope its the4Gb version, is also just only ok for rendering.

    32Gb of RAM is just overkill on this system for Daz, it may make a big difference elsewhere I have no idea what else you do with it.

    A minute or two per iteration strongly suggests to me that the scene dropped out of the GPU into CPU you need to bring up task manager during a render and see whether the GPU is acttive. Open task manager, go to the performance tab and scroll down to the GPU. If there isn't a lot of activity on the 3d graph that means the GPU memory was overloaded and the render is being done on the cPU which would explain those terrible render speeds.

    I checked the task manager on the test scene and the CPU was hovering around 20-30% and the GPU between 12-30%, with little bursts up to 80%

    I need the RAM for Unreal editor, which is where I work most of the time.  It is the 4gb 1050.

    Are you doing iRay renders? Something isn't right if you are. iRay should pretty much put either the GPU or CPU at 100% while rendering. Neither should ever be that low.  do you have other stuff running with Daz at a lower priority or something?

  • RobinsonRobinson Posts: 751

    Ok, That haswell I7 is 4 years old and is only going to be ok these days, its roughly an i3 at this point.

    Not really.  It's performance per core is only slightly worse than an 8700k.  It's got half as many cores of course, so that's a factor.  But anyway after upload to the graphics card, CUDA performance is the main thing here.   More importantly, if the scene uses up too much graphics RAM it'll revert to CPU rendering, which will obviously destroy performance.  The way you can usually tell is by looking at CPU usage in task manager.  If it's 100% during rendering, you're using CPU.  It should be a lot lower if you're using GPU.

     

    4Gb is a lower limit for iRay with 2 characters.  Once you start to add in props, set, clothing and so forth you can easily go over the limit. 

  • Ok, That haswell I7 is 4 years old and is only going to be ok these days, its roughly an i3 at this point.

    the 1050ti, I hope its the4Gb version, is also just only ok for rendering.

    32Gb of RAM is just overkill on this system for Daz, it may make a big difference elsewhere I have no idea what else you do with it.

    A minute or two per iteration strongly suggests to me that the scene dropped out of the GPU into CPU you need to bring up task manager during a render and see whether the GPU is acttive. Open task manager, go to the performance tab and scroll down to the GPU. If there isn't a lot of activity on the 3d graph that means the GPU memory was overloaded and the render is being done on the cPU which would explain those terrible render speeds.

    I checked the task manager on the test scene and the CPU was hovering around 20-30% and the GPU between 12-30%, with little bursts up to 80%

    I need the RAM for Unreal editor, which is where I work most of the time.  It is the 4gb 1050.

    Are you doing iRay renders? Something isn't right if you are. iRay should pretty much put either the GPU or CPU at 100% while rendering. Neither should ever be that low.  do you have other stuff running with Daz at a lower priority or something?

    Yeah, IRay.  In the test scene neither CPU nor GPU ever maxed out.  When I go to a more complicated scene, the gpu stays at around 30% but the CPU pegs at 100%.  GPU memory is also maxed.  

  • RobinsonRobinson Posts: 751

    GPU memory is also maxed.  

    So, that's your problem.  It's reverting to CPU rendering because there isn't enough GPU memory.

  • Robinson said:

    GPU memory is also maxed.  

    So, that's your problem.  It's reverting to CPU rendering because there isn't enough GPU memory.

    Makes sense... disappointingly.  Not sure why my render time in the test scene was so long since memory stayed at under 50% and neither processor ever maxed though...  Still, my card is not as good as I thought, i guess.  

    Thanks for all the help everyone!

  • Robinson said:

    GPU memory is also maxed.  

    So, that's your problem.  It's reverting to CPU rendering because there isn't enough GPU memory.

    Makes sense... disappointingly.  Not sure why my render time in the test scene was so long since memory stayed at under 50% and neither processor ever maxed though...  Still, my card is not as good as I thought, i guess.  

    Thanks for all the help everyone!

    Had you restarted DS? Once GPU memory has run out that's usually necessary to free it up (and on sme systems it may need a system restart).

  • KitsumoKitsumo Posts: 1,216
    Robinson said:

    GPU memory is also maxed.  

    So, that's your problem.  It's reverting to CPU rendering because there isn't enough GPU memory.

    Makes sense... disappointingly.  Not sure why my render time in the test scene was so long since memory stayed at under 50% and neither processor ever maxed though...  Still, my card is not as good as I thought, i guess.  

    Thanks for all the help everyone!

    The SY benchmark scene doesn't use much memory. It rendered fine on my GTX 460(1Gb), but it took about 20 minutes or so, so your 12 minute time sounds reasonable. Your best bet is to use a GPU utility like Afterburner or GPU-Z, so you can see exactly what your GPU is doing. Windows has gotten better at reporting, but it doesn't give you the whole picture.

  • Richard HaseltineRichard Haseltine Posts: 102,770
    edited November 2018

    Device 0 is just the first device - computers usually count starting from 0.

    Have you tried the Iray benchmark scenes, or one of the Ready to Render scenes that come with DS? How long do those take to render? https://www.daz3d.com/forums/discussion/53771/iray-starter-scene-post-your-benchmarks/p1

    I rendered that scene (good tip I didn't know that existed) and it took 12 minutes 44 seconds, which seems very long compared to the times the other folks in the thread are posting.

    I think that'ss lower than mine, with an i7 920 and a 4GB 750Ti GPU, so it does sound as if soemthing other than hardware limitations may be in play.

    Well, ignore that - my recollection was way off. it's currently at 98% after nearly twenty minutes, so twelve minutes on a better system is not unreasonable. Edit: 21:30 to complete.

    Post edited by Richard Haseltine on
  • Robinson said:

    GPU memory is also maxed.  

    So, that's your problem.  It's reverting to CPU rendering because there isn't enough GPU memory.

    Makes sense... disappointingly.  Not sure why my render time in the test scene was so long since memory stayed at under 50% and neither processor ever maxed though...  Still, my card is not as good as I thought, i guess.  

    Thanks for all the help everyone!

    A 1050ti only has 4Gb of VRAM so it is going to be hard pressed with a lot of stuff. Two things will help keep scenes on the GPU. First get scene optimizer

    https://www.daz3d.com/scene-optimizer

    Second go into the render settings and under instancing optimizaing change from speed to memory. That seems counter intuitive but staying on the GPU will be much faster than going to that haswell CPU.

  • Robinson said:

    GPU memory is also maxed.  

    So, that's your problem.  It's reverting to CPU rendering because there isn't enough GPU memory.

    Makes sense... disappointingly.  Not sure why my render time in the test scene was so long since memory stayed at under 50% and neither processor ever maxed though...  Still, my card is not as good as I thought, i guess.  

    Thanks for all the help everyone!

    A 1050ti only has 4Gb of VRAM so it is going to be hard pressed with a lot of stuff. Two things will help keep scenes on the GPU. First get scene optimizer

    https://www.daz3d.com/scene-optimizer

    Second go into the render settings and under instancing optimizaing change from speed to memory. That seems counter intuitive but staying on the GPU will be much faster than going to that haswell CPU.

    Will do!  I didn't know such things existed!  I will post the results...

  • Also consider that when a GPU works that hard, it gets hot, and when it gets hot, it cuts back. Use MSI Afterburner or EVGA PrecisionX (either one will work) and set your GPU Fan Speed to 100% before rendering. Also, you might want to run with the case side panel off so the GPU gets plenty of airflow.

    And yes, 768 CUDA cores is not going to do very much very fast, and 4GB of VRAM is not going to handle a scene with G3/G8, SubD all over the place, complex Iray materials with lots of bump and specularity and reflection and refraction and textures with transparency maps and bump maps and specular maps, plus emissive lights.

    When you start a render, you'll se the little info window popup. Expand the History button so you get the scrolling list of what's going on. It'll tell you how much VRAM is being used for things like geometry (the scene meshes, not the math), materials, textures, lights, and whatever else, as well as whether or not it's using the GPU or the CPU, or both.

    For your system, it probably wouldn't hurt to enable both the CPU and GPU in the Advanced tab of the rendering pane.

  • Also consider that when a GPU works that hard, it gets hot, and when it gets hot, it cuts back. Use MSI Afterburner or EVGA PrecisionX (either one will work) and set your GPU Fan Speed to 100% before rendering. Also, you might want to run with the case side panel off so the GPU gets plenty of airflow.

    And yes, 768 CUDA cores is not going to do very much very fast, and 4GB of VRAM is not going to handle a scene with G3/G8, SubD all over the place, complex Iray materials with lots of bump and specularity and reflection and refraction and textures with transparency maps and bump maps and specular maps, plus emissive lights.

    When you start a render, you'll se the little info window popup. Expand the History button so you get the scrolling list of what's going on. It'll tell you how much VRAM is being used for things like geometry (the scene meshes, not the math), materials, textures, lights, and whatever else, as well as whether or not it's using the GPU or the CPU, or both.

    For your system, it probably wouldn't hurt to enable both the CPU and GPU in the Advanced tab of the rendering pane.

    I updated my settings as you suggested and also popped in a 6 gig GTX 1060, which is the best thing I had available.  With both CPU and GPU enabled the test scene took 4 minutes 30.  With just GPU checked it took 4 minutes 34, but I could do things like move my mouse reliably while it rendered.  Looks like you are very much correct that the 4 gig card was crapping the bed and I just need a better card, or a card that can link (which neither of mine can...).

    In one of my normal scenes it still fills the 6gigs of gpu ram in an instant and goes CPU.  I tried to read through the history but I wasn't sure how to translate it.  199 MiB of geometry?  Men in Black?  13.8 GiB of textures?  Giblets?

    Anyway, thank you all for the suggestions.  The renders are now half the time I had before, so I think you've made the best of the hardware I have.

  • daviellisir1juniordaviellisir1junior Posts: 26
    edited November 2018

    EDIT:

    I posted to the wrong thread.

    Post edited by daviellisir1junior on
  • MattymanxMattymanx Posts: 6,955

    I updated my settings as you suggested and also popped in a 6 gig GTX 1060, which is the best thing I had available.  With both CPU and GPU enabled the test scene took 4 minutes 30.  With just GPU checked it took 4 minutes 34, but I could do things like move my mouse reliably while it rendered.  Looks like you are very much correct that the 4 gig card was crapping the bed and I just need a better card, or a card that can link (which neither of mine can...).

    In one of my normal scenes it still fills the 6gigs of gpu ram in an instant and goes CPU.  I tried to read through the history but I wasn't sure how to translate it.  199 MiB of geometry?  Men in Black?  13.8 GiB of textures?  Giblets?

    Anyway, thank you all for the suggestions.  The renders are now half the time I had before, so I think you've made the best of the hardware I have.

    May I recommend my own product to help reduce resource usage all the more - https://www.daz3d.com/resource-saver-shaders-collection-for-iray - At the very least, read over the promos to have a better idea of whats going on resource wise when you render with Iray.

  • ChezjuanChezjuan Posts: 522

    Another thing to look at is what else the GPU is doing. If you are using the GPU to drive your display, the system will use some memory for that, further reducing what us available.

    I recently reactivated my system's internal GPU, and use that to drive my two smaller monitors, leaving my gaming monitor on my GTX 1070. When I get ready to do a larger scene, I go to display settings and disconnect the monitor connected to the GPU. That will drop the memory use from between 600 MB and 1 GB (on average) to about 250 MB (which Windows reserves no matter what the card is doing). That lets me fit a bit more into the card, and also has the advantage of allowing almost full use of the system while a render is in progress. Previously, I had found that rendering larger, more complex scenes, caused some display lag even if it was only using the GPU.

Sign In or Register to comment.