How to find render speed bottleneck?
TLDR:
I have two scenes which are very similar in terms of apparent content yet one took four times as long to render than the other. How can I determine the rendering bottleneck in a scene without repeatedly removing one object or material and rerendering it?
Similarities: Each of the two scenes contains a largely empty interior room with similar layouts (floor plans) and a similar number of objects of similar apparent complexity. There were no transparent or specular objects in either room. In each was a single G8.1 F figure with exactly the same material presets (identical skins) dressed similarly. Both scenes were rendered using iray at 4096 x 6144 with identical lighting (scene only, no enviromental). The render settings were identical. According to a gpu monitor, each filled about 3/4 of the GPU RAM. They both pegged the GPU computation at 100% and used two CPU cores at roughly 12.5%; the other 6 cores were hardly used at all.
Differences: The rooms were different, their contents were different, the figures were different, the clothing was different, and they used different hairs.
I stress, however, that the apparent complexity (the way they appear to the eye) of everything was similar.
Yet one scene took 18 minutes to render, the other 80 minutes.
Both scenes were set up and rendered in Studio 4.22.0.1 (64-bit) public build, on a high-end windows 10 box with an nvidia geforce rtx 4070ti and studio driver 546.1, which is currently the latest available.
Clearly there is some difference in complexity between the scenes even though that is not visually apparent to me.
Questions:
(1) Is there anything in the render logs that would indicate where the bottleneck is in the scene that takes longer to render?
(2) Is there a tool that can be used to estimate the computational complexity of the objects in a scene?
(3) Have you any suggestions for finding this out?
Thank you in advance!
PS I am sure that this must have been covered numerous times before in this forum. But unfortunately the current forum search engine is not good; I could not find it. I tried using this google search:
render speed site:https://www.daz3d.com/forums/categories/daz-studio-discussion
It returned the fishing devil animation with "Your search - [the above] did not match any documents."
Comments
If I had to guess, I would guess it has something to do with the hairs used. Those are usually the most "complex" thing in the scene, and some of those can take a long time compared to other that look visually the same in render.
... as well as the geometry, texture maps, Render SubD Level, etc. that you have to dbl-check.
With DS log, you may clearly compare the info. from two scenes, especially ~
1) Geometry (search by " rend info : Geometry import ");
2) number of texture maps (search by " MATCNV:RENDER :: 1.0 MATCNV rend info : found ")
3) IRAY rend info : CUDA device 0 (your 4070 ti): Allocated xxx MiB for frame buffer
etc. ~
If you turn on Rendering Quality Enable in Render Settings, all the "difference" come from the above will impact the process and time of pixels convergence ~~
I would suspect differences in mateials, or more overlapping translucent surfaces, in one scene compared to the other. I don't think the log, which is scraping data sent by Iray, is granular enough to answer the question though seeing is the number of iterations was the same might be informative (if it is then each iteration is taking longer to process, perhaps due to moer interactions such as passing through translucent layers, while if the number of iterations was increased in proportion to the time that would indicate that each step was about as demanding but more steps were needed as the materials were much more dependent on the angle of pths striking them, so they took many more paths to reach a settled value).
The log can definitely show lots of useful info. in terms of identifying the "difference". Besides, if one also uses GPU-Z, the data of Memory Used (VRAM) could be also referable since mostly this data is proportionate to the increased render time as per the same render settings from 2 scenes.