3D Software Help and Assistance. Ask Away.

5.00 star(s) 1 Vote

tripod70

Not so Well-known Member
Game Developer
Oct 23, 2020
2,213
3,948
Dropping to CPU rendering is almost always a result of running out of GPU VRAM. The slightly odd thing is that the Hardwood House asset doesn't seem to be particularly greedy in terms of texture memory consumption. From the looks of it, the lawn is created through mass instancing of grass. As such I am guessing that the problem is related to geometry memory consumption. Thankfully the fix in this case is very simple. Just go to Render Settings \ Editor \ Optimization \ Instancing Optimization and set it to Memory.

Note: If you can advise the Geometry / Texture consumption we will know where the issue with GPU rendering lies. Geometry can be fixed using tweak above and reducing mesh density. The Texture consumption can be resolved using Scene Optimizer to reduce the texture resolution / remove bumps etc.
Thanks Plse see above post #2125
I will try the Memory thing in settings ( I have it at Speed)
 

recreation

pure evil!
Respected User
Game Developer
Jun 10, 2018
6,266
22,295
Found the setting, thanks! However, it doesn't seem to do anything? Is the effect supposed to be immediate or do I have to reapply something?
there's a second tab in the image editor, you're probably on the first one, but you need to change the tiling on the second.

I have a complete scene set made without actors, and bring them in as needed. I have all of the grass either hidden or deleted. I only use the exterior and inside is empty (I think) except what ever is included with the house. I did it that way to have a ready made set with cars in drive and back yard setup always the same. I had pure hell with the pool set and the ground of back yard ( had to delete two panels of yard to not have ground in the pool) On most days when using the house I have noticed that there is just over 7g loading in 5 to 700 bmp's If I could just use the walls I think that would not happen. Here is the logfile and a quick render that I just did with a fresh load of DAZ. The GPU was used this time. Disregard the collisions as I was making the scene from the side and all that is hidden of course.
In the logfile I did see a ton of Warnnings that I don't think I have seen before too.


View attachment 1214344


View attachment 1214347

Screen clip:

View attachment 1214365
Looking at the scene, what's loaded in there, how many texture maps... that's simply overkill, I'd suggest to hide or delete everything that's not visible in the particular render, that should already help a lot.
That being said, having several characters in one scene can really bog down performance, that in combination with all the other stuff it's no wonder that your pc goes down on its knees.
In Daz it's good practice to only use what you really needed in the scene especially when it's a big set.
 

tripod70

Not so Well-known Member
Game Developer
Oct 23, 2020
2,213
3,948
there's a second tab in the image editor, you're probably on the first one, but you need to change the tiling on the second.


Looking at the scene, what's loaded in there, how many texture maps... that's simply overkill, I'd suggest to hide or delete everything that's not visible in the particular render, that should already help a lot.
That being said, having several characters in one scene can really bog down performance, that in combination with all the other stuff it's no wonder that your pc goes down on its knees.
In Daz it's good practice to only use what you really needed in the scene especially when it's a big set.
I really wished that I could have found a different set for the environment (out side that is) and a large part is going to be in and around the pools and the back, but the way this house is setup I cant hide the most of it. Two or maybe three walls is all I really need, but with this it is all or nothing... :(

Love BM too by the way... (y)
 
  • Like
Reactions: recreation

acusrola

Member
May 30, 2020
262
664
there's a second tab in the image editor, you're probably on the first one, but you need to change the tiling on the second.
I did find the right one, but for some reason the settings didn't get applied the first time. I tried it some minutes later (with a different asset and a different texture) and it works now? No matter, it's exactly what I wanted - no need to mess around with an image editor (outside DAZ) thanks for the help everyone!
 
  • Like
Reactions: recreation

osanaiko

Engaged Member
Modder
Jul 4, 2017
2,213
3,708
I have noticed that there is just over 7g loading in 5 to 700 bmp's If I could just use the walls I think that would not happen
As recreation and Xavster have said, it's definitely the number of oversize textures that is causing the fallback-to-cpu issue.

For example, in the log file there are references to many many 4096x4096 or 2048x2048 images that do not appear to even be visible in the scene (like all the textures for the "Ranger" car and many textures for interior wallpaper).

1. First thing to do is make separate copies of the scene environment for each major render scene so you can edit without losing the base setup you might need for future scenes.

2. Next, in your scene specific copy, delete objects (hiding doesn't work) that are not visible, like in this case the Ranger car.

3. Third step is to get the Scene Optimiser product and use it to massively reduce the texture sizes of stuff that is not close to the camera - if your render output is full HD, and you have a single texture plane that just fills up the entire viewport, then the maximum resolution you need for the texture is 2048x2048. anything higher than that is overkill even in this artificial case. the only time you need 4096x4096 is for extreme closeups (or large objects with non-repeating textures across the entire surface).
In many cases, for objects only in the background of your render, its ok to reduce the texture size to 512x512 - which takes 1/16th of the GPU VRAM space. Texture size reduction using the tool is 100% reversible, as it makes separate copies of each texture image before reducing, and simply updates that specific scene's object's materials to use the smaller texture. You can undo it in the Scene Optimiser interface if you want, or just go back to a fresh copy of the original scene (or reload the objects) to go back to original textures.

As a test, I repeated my render from yesterday after running scene optimiser:

1. reloaded the scene from yesterday (identical settings)
2. used Scene optimiser to reduce all the textures to 512x512
3. re-ran the render

This time the GPU VRAM usage reported by task manager was 3.5GB, down from 5.8GB. So it's added a bunch of room for other figures etc...

harwood_house__scene_optimised__300seconds.jpg

Visually it looks pretty much identical to me.

My log file from the reduced texture size render has this line:
2021-05-27 10:56:53.742 Iray [VERBOSE] - IRAY:RENDER :: 1.13 IRAY rend stat : Texture memory consumption: 79.421 MiB for 166 bitmaps (device 0)

Whereas previously with the default texture sizes it was:
2021-05-26 13:44:21.486 Iray [VERBOSE] - IRAY:RENDER :: 1.8 IRAY rend stat : Texture memory consumption: 2.338 GiB for 166 bitmaps (device 0)
 
  • Like
Reactions: tripod70

osanaiko

Engaged Member
Modder
Jul 4, 2017
2,213
3,708
I really wished that I could have found a different set for the environment (out side that is) and a large part is going to be in and around the pools and the back, but the way this house is setup I cant hide the most of it. Two or maybe three walls is all I really need, but with this it is all or nothing... :(
If you are somehow able to get the scene setup so that the opposite part of the house is not visible at all in the render frame ( e.g. a relative closeup) then you could use a "section plane" to chop all that geometry and it's related textures out of the render.
 

tripod70

Not so Well-known Member
Game Developer
Oct 23, 2020
2,213
3,948
As recreation and Xavster have said, it's definitely the number of oversize textures that is causing the fallback-to-cpu issue.

For example, in the log file there are references to many many 4096x4096 or 2048x2048 images that do not appear to even be visible in the scene (like all the textures for the "Ranger" car and many textures for interior wallpaper).

1. First thing to do is make separate copies of the scene environment for each major render scene so you can edit without losing the base setup you might need for future scenes.

2. Next, in your scene specific copy, delete objects (hiding doesn't work) that are not visible, like in this case the Ranger car.

3. Third step is to get the Scene Optimiser product and use it to massively reduce the texture sizes of stuff that is not close to the camera - if your render output is full HD, and you have a single texture plane that just fills up the entire viewport, then the maximum resolution you need for the texture is 2048x2048. anything higher than that is overkill even in this artificial case. the only time you need 4096x4096 is for extreme closeups (or large objects with non-repeating textures across the entire surface).
In many cases, for objects only in the background of your render, its ok to reduce the texture size to 512x512 - which takes 1/16th of the GPU VRAM space. Texture size reduction using the tool is 100% reversible, as it makes separate copies of each texture image before reducing, and simply updates that specific scene's object's materials to use the smaller texture. You can undo it in the Scene Optimiser interface if you want, or just go back to a fresh copy of the original scene (or reload the objects) to go back to original textures.

As a test, I repeated my render from yesterday after running scene optimiser:

1. reloaded the scene from yesterday (identical settings)
2. used Scene optimiser to reduce all the textures to 512x512
3. re-ran the render

This time the GPU VRAM usage reported by task manager was 3.5GB, down from 5.8GB. So it's added a bunch of room for other figures etc...

View attachment 1215074

Visually it looks pretty much identical to me.

My log file from the reduced texture size render has this line:
2021-05-27 10:56:53.742 Iray [VERBOSE] - IRAY:RENDER :: 1.13 IRAY rend stat : Texture memory consumption: 79.421 MiB for 166 bitmaps (device 0)

Whereas previously with the default texture sizes it was:
2021-05-26 13:44:21.486 Iray [VERBOSE] - IRAY:RENDER :: 1.8 IRAY rend stat : Texture memory consumption: 2.338 GiB for 166 bitmaps (device 0)
Thanks I have Scene Optimizer installed now and will have to figure how to use it a little. Most of the shots are fairly close in to include only a part of the outside wall, or planed for later just back of house as low as I can get it from mid way of pool, something like that.
 

osanaiko

Engaged Member
Modder
Jul 4, 2017
2,213
3,708
Thanks I have Scene Optimizer installed now and will have to figure how to use it a little. Most of the shots are fairly close in to include only a part of the outside wall, or planed for later just back of house as low as I can get it from mid way of pool, something like that.
Yeah so the only concern with using "section plane" (note this is a different tool to scene optimiser) is you might have background stuff (grass in the yard, background trees etc) cut away.

The section plane basically tells the iray engine to completely ignore all geometry on the other side of the plane and results in faster renders.

However, if these background parts do not change from image to image within one camera angle, you could render the whole thing once (possible leaving out any foreground characters) to get the image data for the background, then render the rest of the images with the various foreground characters. Then you use image compositing to add in the missing parts of the background from the first image.

It's a bit hard to explain and if the scene optimiser already fixes your issues then you probably won't need section planes anyway.
 
  • Like
Reactions: tripod70

Xavster

Well-Known Member
Game Developer
Mar 27, 2018
1,243
7,569
1. First thing to do is make separate copies of the scene environment for each major render scene so you can edit without losing the base setup you might need for future scenes.
The easiest way I have found to do this in practice, is to create a scene subset of the environment. You can then load into the scene with a single button press. You can also save versions of these scene subsets with different texture resolutions and potentially different mesh densities as well. Similarly you can have scene subsets for different rooms of the building as well, where items not visible are either hidden or deleted.

2. Next, in your scene specific copy, delete objects (hiding doesn't work) that are not visible, like in this case the Ranger car.
I can confirm that hiding an object in the scene will remove it from the rendering process and lower the VRAM requirements. I routinely do this is scenes where I have many characters. Hence I only have the characters in view of the camera visible. I have also used the process of selectively showing certain objects in a scene and hiding the remainder, in order to determine their relative consumption of VRAM.
 

recreation

pure evil!
Respected User
Game Developer
Jun 10, 2018
6,266
22,295
Yeah so the only concern with using "section plane" (note this is a different tool to scene optimiser) is you might have background stuff (grass in the yard, background trees etc) cut away.

The section plane basically tells the iray engine to completely ignore all geometry on the other side of the plane and results in faster renders.

However, if these background parts do not change from image to image within one camera angle, you could render the whole thing once (possible leaving out any foreground characters) to get the image data for the background, then render the rest of the images with the various foreground characters. Then you use image compositing to add in the missing parts of the background from the first image.

It's a bit hard to explain and if the scene optimiser already fixes your issues then you probably won't need section planes anyway.
You could speed things up by using the which is not only great for interiors^^
 
  • Like
Reactions: osanaiko

tripod70

Not so Well-known Member
Game Developer
Oct 23, 2020
2,213
3,948
I will be playing with the Scene Optimizer some today to see what I can do to get the set reasonable, and removing things that aren't in view :)
 

tripod70

Not so Well-known Member
Game Developer
Oct 23, 2020
2,213
3,948
OH One other question,, How can I move or add I guess it would be the Scene Optimizer Script to the top tool bar so I won't have to go hunting for it. It isn't that obvious to find in content...
 

8mes

Member
Aug 24, 2016
190
185
OH One other question,, How can I move or add I guess it would be the Scene Optimizer Script to the top tool bar so I won't have to go hunting for it. It isn't that obvious to find in content...
Right mouse click -> Create Custom Action

Also, I read on some DAZ thread that using Iray denoiser makes rendering use more resources. I never tested this since I don't use denoiser.
 
  • Like
Reactions: tripod70

tripod70

Not so Well-known Member
Game Developer
Oct 23, 2020
2,213
3,948
Right mouse click -> Create Custom Action

Also, I read on some DAZ thread that using Iray denoiser makes rendering use more resources. I never tested this since I don't use denoiser.
Thanks:
I use an external Nvidia denoiser that works great.
 

tripod70

Not so Well-known Member
Game Developer
Oct 23, 2020
2,213
3,948
Can you recommend this denoiser? Am currently using the Daz filter which works well but as stated slows things down.
Here ya go:

https://f95zone.to/threads/nvidia-ai-denoiser-2-4.35677/

This is how I set up the bat file to keep the same name. I do it all in another folder, then move the denoised copies to the image location in Ren'py

SET FILE_EXTENSION=jpg
SET PATH_TO_DENOISER=D:\Denoiser_v2.4
*SET OUTPUT_PREFIX=denoised_

for /r %%v in (*.%FILE_EXTENSION%) do %PATH_TO_DENOISER%\Denoiser.exe -i "%%~nv.%FILE_EXTENSION%" -o "%OUTPUT_PREFIX%%%~nv.%FILE_EXTENSION%"

cmd /k
 
  • Like
Reactions: Fatalmasterpiece
Apr 18, 2021
370
788
Here ya go:

https://f95zone.to/threads/nvidia-ai-denoiser-2-4.35677/

This is how I set up the bat file to keep the same name. I do it all in another folder, then move the denoised copies to the image location in Ren'py

SET FILE_EXTENSION=jpg
SET PATH_TO_DENOISER=D:\Denoiser_v2.4
*SET OUTPUT_PREFIX=denoised_

for /r %%v in (*.%FILE_EXTENSION%) do %PATH_TO_DENOISER%\Denoiser.exe -i "%%~nv.%FILE_EXTENSION%" -o "%OUTPUT_PREFIX%%%~nv.%FILE_EXTENSION%"

cmd /k
Thank you, I will try this out. Currently its taking about 8 hours for a 10 second animation o_O
 

itsbumpin

Newbie
Nov 15, 2017
29
80
Can you use a model's included anatomical textures on Golden Palace or NGV8?

I know Golden Palace or NGV8 usually use the torso texture to skin the gens but is there a way to use the separate genital textures that some models include for the stock G8F gens?
 
5.00 star(s) 1 Vote