DAZ3D Rendering

Winterfire

Forum Fanatic
Respected User
Game Developer
Sep 27, 2018
5,499
8,035
I have decided to finally join the dark side (I heard they have cookies) and try out DAZ3D, it is fairly straight forward and simple to use but I eventually encountered a problem: Rendering.

Using Iray is really slow, it had been stuck at 0% for five minutes and I didn't have any hope for it to reach 100% in the near future; I know there are other render modes and they are faster however that raises up a question: Are they worth it?

Considering that many use Iray for rendering and therefore get a better result, would someone play a game whose renders are not as good?
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,963
16,201
would someone play a game whose renders are not as good?
I hope so, because my own first attempt with Daz3D is really disastrous. Anyway, when you look at games actually available, it don't seem to be a real problem.
If I were you, I would keep a copy of all the scenes. Then, at one point you'll be able to start rendering them again, with better result this time, to improve the visual quality.
 
  • Like
Reactions: Nottravis

Winterfire

Forum Fanatic
Respected User
Game Developer
Sep 27, 2018
5,499
8,035
I don't have a computer tho, I use a potato but knowing that not everyone uses Iray is reassuring.
I guess I will try a few ways to render and then ask here which one looks better.
 

MrBree

Member
Jun 9, 2017
171
157
Mmmm.. cookies.

Iray has this odd characteristic in that renders tend to take forever to move from both 0% and 100%. Do the FULL render (be patient) and see how long it actually takes. The fact that 0% takes awhile isn't telling you much.
Every single render system has its advantages and disadvantages. I suggest you figure out how to tweak things to manage your rendering. (tweak your lights, scene, use , etc). Then and only then should you explore other render options. You need to understand the tool before you bother abandoning it.

Side note: there are more than a few tips and tutorials on how to optimize your rendering around. More then a few of them suggest a some 'hacks' to get around limited rendering capabilities. .

Then again, I'm talking out of my ass. Don't mind me. :p
 

recreation

pure evil!
Respected User
Game Developer
Jun 10, 2018
6,327
22,774
Have a look at my sig ;)
You can also choose 3DLight as render engine in the render settings, or try out lux render. Both of them are faster on some potatos, but the results are mixed.
 
  • Like
Reactions: Winterfire

monkeyposter_7

Thirsty for my Guest
Game Developer
Nov 23, 2018
330
1,181
I tried this scene optimizer, but it just ruins the textures, whats the deal with that "plugin"? how best to use it and where? any tips?
 

Winterfire

Forum Fanatic
Respected User
Game Developer
Sep 27, 2018
5,499
8,035
Omg sweet, thanks a lot! I will play around after checking those links out and hopefully come out with a few decent renders to compare.
 

recreation

pure evil!
Respected User
Game Developer
Jun 10, 2018
6,327
22,774
I tried this scene optimizer, but it just ruins the textures, whats the deal with that "plugin"? how best to use it and where? any tips?
There are instructions on how to use it in every tab. It's not really hard to understand. If you got the addon from here, there should also be a pdf guide included.
 
  • Like
Reactions: monkeyposter_7

Winterfire

Forum Fanatic
Respected User
Game Developer
Sep 27, 2018
5,499
8,035
I tried my first render ever:
Iray.png
The character, clothing, etc. are nothing special but I would like to hear from you guys if this quality of rendering is acceptable for a game.

There is a lot I would have to learn (for instance I had to turn that shadow off as it makes no sense as an overview character) but aside from that, I might consider making my very own game with DAZ3D graphics if you guys give me the go.
 
  • Like
Reactions: Nottravis

recreation

pure evil!
Respected User
Game Developer
Jun 10, 2018
6,327
22,774
I tried my first render ever:
View attachment 241506
The character, clothing, etc. are nothing special but I would like to hear from you guys if this quality of rendering is acceptable for a game.

There is a lot I would have to learn (for instance I had to turn that shadow off as it makes no sense as an overview character) but aside from that, I might consider making my very own game with DAZ3D graphics if you guys give me the go.
Aside from the character looking like almost every other "first-time" character in Daz the quality is more than enough for a game. There are some games in this forum that look way worse that are really successful.
 

Winterfire

Forum Fanatic
Respected User
Game Developer
Sep 27, 2018
5,499
8,035
Sweet, I will play some more around and perhaps try to make something, thanks!
 

JTheoryGames

New Member
Jan 19, 2019
4
3
I've found these tips helpful..
1. Turn on cpu in the render settings.
2. Set daz3d priority to high in task manager/details if in Windows 10.
3. Render with less samples. 1080p files should be minimum 200 I've found, but the darker the scene the higher it should be. I set mine to 8000 and leave it to run all night.
4.when doing a scene you may only want each image to change the mouth, simulating talking, or just move a single part or object Etc.. render a full image over night, then you only have to render smaller and less res sections of the image, then just merge the part render into position over the main with any image editor, mspaint, gimp, Photoshop and such. I do this to allow each line in my scene to have a unique image instead of 1 static image or 50 full renders.. better game, less rendering.
5. Dark scenes take longer, more seperate lights take longer. Shadows take longer. Gen 8 take longer then gen3. Incompatible textures that are morphed by Daz to fit take longer.
6. Having iray selected in the model viewer before you begin rendering makes the render process begin much faster.
7. The above in the aux view should be set to iray too.
8. Produce a higher res image, then resizing it after the render will remove lots of grain and noise. This is due to how image software compresses the image using various algorithms that can deal with image cleanup quite intelligently.. drop your samples by 20-40% then move it to you image resizer software.
9. Do multiple renders, save them, then merge them using the Daz render feature. It's an option under render in the menu bar.
10. Render at smaller sizes.
11. Render at the correct aspect ratio for your target audience. 16:9 is the most popular.
12. Turn off your internet browser. It uses Java and can reduce available resources for the render.
13. Use less objects in a scene. If they aren't in the render then having them in the scene still slows things down. Iray will have to calculate all the ambient occlusions for lighting the scene correctly.. including each object.
14.use a renderfarm/ outsource your render, use another pic for multiple renders. Open multiple instances of Daz and run renders simultaneously (good for an overnight or gone for the day situation)
 
  • Like
Reactions: Nottravis

Porcus Dev

Engaged Member
Game Developer
Oct 12, 2017
2,582
4,705
I've found these tips helpful..
1. Turn on cpu in the render settings.
2. Set daz3d priority to high in task manager/details if in Windows 10.
3. Render with less samples. 1080p files should be minimum 200 I've found, but the darker the scene the higher it should be. I set mine to 8000 and leave it to run all night.
4.when doing a scene you may only want each image to change the mouth, simulating talking, or just move a single part or object Etc.. render a full image over night, then you only have to render smaller and less res sections of the image, then just merge the part render into position over the main with any image editor, mspaint, gimp, Photoshop and such. I do this to allow each line in my scene to have a unique image instead of 1 static image or 50 full renders.. better game, less rendering.
5. Dark scenes take longer, more seperate lights take longer. Shadows take longer. Gen 8 take longer then gen3. Incompatible textures that are morphed by Daz to fit take longer.
6. Having iray selected in the model viewer before you begin rendering makes the render process begin much faster.
7. The above in the aux view should be set to iray too.
8. Produce a higher res image, then resizing it after the render will remove lots of grain and noise. This is due to how image software compresses the image using various algorithms that can deal with image cleanup quite intelligently.. drop your samples by 20-40% then move it to you image resizer software.
9. Do multiple renders, save them, then merge them using the Daz render feature. It's an option under render in the menu bar.
10. Render at smaller sizes.
11. Render at the correct aspect ratio for your target audience. 16:9 is the most popular.
12. Turn off your internet browser. It uses Java and can reduce available resources for the render.
13. Use less objects in a scene. If they aren't in the render then having them in the scene still slows things down. Iray will have to calculate all the ambient occlusions for lighting the scene correctly.. including each object.
14.use a renderfarm/ outsource your render, use another pic for multiple renders. Open multiple instances of Daz and run renders simultaneously (good for an overnight or gone for the day situation)
Without wanting to enter into conflicts, I see some problems with certain points :unsure:

1. You don't really notice an improvement in the rendering speed if you add the CPU (maybe in immense scenes), but you're going to notice that your PC is saturated and you're going to have a hard time working on other things while rendering, I would recommend having it unchecked (and in the same configuration make sure you have the Optix activated, apart from the GPUs).

2. Case similar to point 1, this can saturate your PC, and is not recommended if you want to continue using it for other tasks while rendering... and although I have not done tests, I think there will be no appreciable difference.

3. Here everyone can have their own preferences, but to leave it at 8000 if you know if they are really going to be necessary is to unnecessarily lengthen the render times, I usually have ON the option "Rendering Quality Enable" and DAZ will take care of calculating how many iteration are necessary... sometimes it will be 300 and other 3000 or more, but normally with this parameter activated you get good quality (along with other rendering parameters... as could be set "Max Time" to 0, raise "Max Samples" to 10000 if they are needed in any particular render, or raise "Rendering Converged Ratio" from 95% to 97-98%)

4. To render small parts of the total image you can use the "Spot Render", incredibly useful!

6 & 7. Not sure if I understood correctly, but if you activate the preview in Iray this will consume memory and power of the GPU... if you then tell DAZ to render with the preview Iray activated, you will consume twice, it is even very likely that DAZ can not render by GPU and end up doing it by CPU.

14. Have multiple instances of DAZ open rendering? :eek: Unless you have 64GB and two 1080Ti minimum I don't think so (lol)
The scenes must be rendered one by one, and to take advantage of the night there are utilities for daz to open and render the scenes automatically, such as "Render-a-lot" (or similar), a must have addon.


Correct me if I'm wrong at some point... I just wanted to comment on it to not confuse people who start with the program :giggle:
 
  • Like
Reactions: joybosa

recreation

pure evil!
Respected User
Game Developer
Jun 10, 2018
6,327
22,774
Without wanting to enter into conflicts, I see some problems with certain points :unsure:

1. You don't really notice an improvement in the rendering speed if you add the CPU (maybe in immense scenes), but you're going to notice that your PC is saturated and you're going to have a hard time working on other things while rendering, I would recommend having it unchecked (and in the same configuration make sure you have the Optix activated, apart from the GPUs).

2. Case similar to point 1, this can saturate your PC, and is not recommended if you want to continue using it for other tasks while rendering... and although I have not done tests, I think there will be no appreciable difference.

3. Here everyone can have their own preferences, but to leave it at 8000 if you know if they are really going to be necessary is to unnecessarily lengthen the render times, I usually have ON the option "Rendering Quality Enable" and DAZ will take care of calculating how many iteration are necessary... sometimes it will be 300 and other 3000 or more, but normally with this parameter activated you get good quality (along with other rendering parameters... as could be set "Max Time" to 0, raise "Max Samples" to 10000 if they are needed in any particular render, or raise "Rendering Converged Ratio" from 95% to 97-98%)

4. To render small parts of the total image you can use the "Spot Render", incredibly useful!

6 & 7. Not sure if I understood correctly, but if you activate the preview in Iray this will consume memory and power of the GPU... if you then tell DAZ to render with the preview Iray activated, you will consume twice, it is even very likely that DAZ can not render by GPU and end up doing it by CPU.

14. Have multiple instances of DAZ open rendering? :eek: Unless you have 64GB and two 1080Ti minimum I don't think so (lol)
The scenes must be rendered one by one, and to take advantage of the night there are utilities for daz to open and render the scenes automatically, such as "Render-a-lot" (or similar), a must have addon.


Correct me if I'm wrong at some point... I just wanted to comment on it to not confuse people who start with the program :giggle:
You're absolutely right with your post (it's almost the same I wrote in my tutorial), but I think the problem here is that he renders on a potato laptop (if I remember correctly) and therefore just can't use "normal" settings.
 
  • Like
Reactions: Porcus Dev

Porcus Dev

Engaged Member
Game Developer
Oct 12, 2017
2,582
4,705
You're absolutely right with your post (it's almost the same I wrote in my tutorial), but I think the problem here is that he renders on a potato laptop (if I remember correctly) and therefore just can't use "normal" settings.
Okay, but if this is the case, having several daz intances open and rendering isn't going to help.

As you suggested, he will have to use programs like "Scene Optimizer" to reduce the load of the scene, delete all the objects that do not appear in the plane, etc., etc...


BTW, what type of PC is used? If we knew the features maybe we could advise better :giggle:
 

Rich

Old Fart
Modder
Donor
Respected User
Game Developer
Jun 25, 2017
2,566
7,381
So, I'm going to throw my $0.02 in here based on my experience. Note that I'll be the first to say that "your mileage may vary" - the effectiveness of some techniques is highly dependent on you particular rig, so what makes no difference for me might make one for you.

I've found these tips helpful..
1. Turn on cpu in the render settings.
If you have a decent GPU, adding the CPU is not going to make a lot of difference in the total render time. If you have only a so-so GPU, it may. This assumes you're using iRay, of course. If you're using 3Delight, then CPU is your only option.

2. Set daz3d priority to high in task manager/details if in Windows 10.
If you're using CPU rendering, this will make a minor difference, as other programs that are trying to run won't be able to steal as many cycles from you. With GPU rendering, this will make little or no difference.

3. Render with less samples. 1080p files should be minimum 200 I've found, but the darker the scene the higher it should be. I set mine to 8000 and leave it to run all night.
This doesn't affect the rate at which DS renders, it only affects the stopping condition when DS will say "OK, I'm done." Basically, DS will stop under one of three conditions:
  1. The maximum number of samples that you allow is reached
  2. The maximum render time that you allow is reached
  3. The convergence percentage that you set up is reached
Lowering any of those values will make DS stop earlier, but you'll typically have more noise. (The new 4.11 beta has an intelligent de-noiser that may come in handy, however.

4.when doing a scene you may only want each image to change the mouth, simulating talking, or just move a single part or object Etc.. render a full image over night, then you only have to render smaller and less res sections of the image, then just merge the part render into position over the main with any image editor, mspaint, gimp, Photoshop and such. I do this to allow each line in my scene to have a unique image instead of 1 static image or 50 full renders.. better game, less rendering.
Quite correct. Rendering full scenes with characters in them will take longer than, say, rendering the background by itself and then rendering the individual characters and putting them in either in postwork or via your game engine (e.g. Ren'py "show"). The tradeoff is that shadows and such may not be "correct," but that may not be an issue depending on what your scene looks like and what your purpose is.

Note that if you set a render up with no background (i.e. "Draw Dome" off), DS figures out very quickly the pixels in the image where nothing is there, so it doesn't waste much time on them. Thus, the improvement in render speed by taking out the background is roughly proportional to the amount of transparent background space.

5. Dark scenes take longer, more seperate lights take longer. Shadows take longer. Gen 8 take longer then gen3. Incompatible textures that are morphed by Daz to fit take longer.
Pretty much correct. It's less about "dark", however, than it is about "indirect lighting." One way to make a scene dark but still render reasonably quickly is to light the scene "normally," but then change the exposure value in the Tone Mapping settings. Basically like using ASA 100 film inside as opposed to ASA 400.

Essentially, any area that doesn't get direct lighting is harder for iRay to converge, since it has to calculate a lot more "light bounces" before it's certain that it has the correct value.

Other things that slow stuff down:
  • Reflective items. Mirrors, chrome, etc. Increases the number of bounces iRay has to calculate.
  • Translucent items. These introduce scattering, which again increases the number of samples iRay needs.
  • Mesh lights. iRay treats spotlights specially, since it "understands" them. But if you have a mesh object that emits light, iRay doesn't automatically "understand" that, and kind of figures out there's a light source there by accident when bouncing rays around. (It's not quite that bad, but...) Scenes with mesh lights will take longer to converge than an equivalent scene lit by spotlights.

6. Having iray selected in the model viewer before you begin rendering makes the render process begin much faster.
7. The above in the aux view should be set to iray too.
This will cut down on the amount of time that iRay spends setting up the scene, since all the assets will have already been installed into the GPU (or processed by the CPU). Thus, you'll get from "start rendering" to "first iteration" sooner. Once things get going, however, this will actually slow iRay down, because it will be trying to render the scene twice at the same time - once to your final render and once to the view window. Using the "aux window trick" is good if you want to flip your main viewport between iRay and Textured Shaded, since it cuts down on the amount of time to do that. But if your render takes any significant amount of time, you're better off not having either window in iRay mode.

8. Produce a higher res image, then resizing it after the render will remove lots of grain and noise. This is due to how image software compresses the image using various algorithms that can deal with image cleanup quite intelligently.. drop your samples by 20-40% then move it to you image resizer software.
This is one technique that is widely recommended, but is hard to evaluate. To do this effectively, you have to render at 2x or 3x the size that you want to eventually have. (See #10). So you're trading off rendering a lot more pixels for somewhat fewer iterations versus rendering a smaller number of pixels for more iterations. My own experience is that this is highly image-dependent - some images work well this way, particularly if they have isolated "fireflies." Others end up with larger areas that have not converged, which may or may not "smooth out" when you downsample. That being said, some postprocessing tools have noise removal capability that can be used to help this out a well.

9. Do multiple renders, save them, then merge them using the Daz render feature. It's an option under render in the menu bar.
Not sure how this is going to help. In general, iRay operates pretty deterministically, so if an area isn't converged in your first render, the same area is likely not to have converged in your second. But since I haven't tried this, I can't say much about it.

10. Render at smaller sizes.
Smaller is always faster. Fewer pixels to evaluate.

11. Render at the correct aspect ratio for your target audience. 16:9 is the most popular.
I'm not sure how this is a "how to render faster" recommendation. Unless you mean "don't render parts of the image that you're then going to cut off later by cropping the image." If so, then that falls under the general "don't render stuff you don't want in your final output."

12. Turn off your internet browser. It uses Java and can reduce available resources for the render.
This really has nothing to do with Java - it's true of pretty much any program. Any running program is going to consume RAM and CPU. In addition, non-minimized programs will consume some GPU memory as well. Usually, this isn't huge, but if you're on the hairy edge of fitting your scene into your GPU, this can make a difference. In addition, if another program is drawing anything to its own window, that consumes GPU cycles. So, yes, fewer competing programs will allow DS to render faster.

13. Use less objects in a scene. If they aren't in the render then having them in the scene still slows things down. Iray will have to calculate all the ambient occlusions for lighting the scene correctly.. including each object.
True. The effect varies. But having additional items that you can't see both consumes GPU memory and GPU load time, as well as potentially requiring additional bounces to determine the correct lighting. Of course, sometimes you need that off-screen item in order for shadows to look correct.

14.use a renderfarm/ outsource your render, use another pic for multiple renders. Open multiple instances of Daz and run renders simultaneously (good for an overnight or gone for the day situation)
This isn't really about speeding up how fast a particular piece of hardware does your render, but more about applying additional horsepower to the problem. However, I will disagree with you slightly about running multiple instances of Daz. If you're doing GPU rendering, you're still going to be limited by the speed of your GPU - you're now just dividing it among two different images. In addition, with some assets, DS creates temporary files, and having two instances of DS running at the same time can cause collisions between the temp files and crashes as a result.

If you have multiple images to render and want to be in "walk away" mode, you're better off using a batch render plugin, which allows you to set up a series of files that should be rendered in sequence and then turn DS loose on the list. I use this one all the time:

A few other items you might consider:
  1. Under normal circumstances, when iRay casts rays out into the scene, it keeps bouncing until it decides that the ray isn't going to contribute a significant amount of energy to the pixel. (Essentially, some "energy" is lost with most bounces.) You can limit the number of bounces that iRay will try in the render settings. For scenes that have a large number of reflective items, but where those items don't occupy a lot of the scene, this can make a difference. Dialing down too far will mean that reflective surfaces may not look correct. Ditto eyes if they occupy a significant portion of your render, since they have a lot of internal reflection.
  2. For objects that aren't close to your camera, remove bump maps and displacement maps. This makes the surfaces look smoother to DS, which means that things converge faster because the bounces off the item are less scattered. This also results in less GPU memory being occupied.
  3. For objects that are off-camera, but there for shadow purposes, remove all the textures. Basically, just have them be big grey blobs. They'll still block the sun, but will consume a lot less memory. Unless, of course, you need that "green light filtering through the leaves" effect.


Note - the above is based on my own experience. Different people's hardware are different, and some of the techniques I disagreed with might work when the rig is different from my own. (I have a pretty beefy machine, and am always doing GPU rendering, not CPU rendering. So if you're a CPU renderer, some of my comments above might be incorrect. Try it - see what happens.)
 

recreation

pure evil!
Respected User
Game Developer
Jun 10, 2018
6,327
22,774
It's also a good idea to remove maps completely from objects that are so far away that you cant see the texture anymore. Just use a base color in this case.