- Sep 24, 2017
- 426
- 336
I normally don't have an issue optimizing a scene. Not that I'm some expert... it just hasn't been something I've struggled with so far. But this time I'm quite stumped.
All the scene in question is, is Space Station Living Quarters. That's it. No figures. No additional props. Just that by itself. I plan to add a figure to the bed, but all times and iteration counts mentioned below are with the figure hidden in the scene outline... and the figure itself takes about 10 minutes to render in my "portrait/studio lighting" set with no optimizations. Render time for the desired angle is just over an hour on my RTX 3070.
Here's where I'm at now (note that the ceiling and two walls are marked hidden in the viewport):
Now, correct me if I'm wrong but... "complexity" in the sense of scene optimization primarily comes in three flavors...
The set I linked above has a _lot_ of mesh lights and no "lights" lights. Just about every object... including the walls... has at least one emissive surface. Most of these are only 50 kcd/m^2, so not super bright. The ceiling lights are 3000 kcd/m^2. The ceiling lights are tru-white while all the others are the same sky blue.
So I started by focusing on flavor #1... I removed all objects from the scene that were not important/visible in the desired render. This included the walls behind and to the right of the camera as well as the floor and ceiling. Because I was likely to end up with the majority of my lighting coming from the mesh light that had previously been hanging from the ceiling (and now were floating magically on their own) and because the wall behind the camera was no longer there to bounce light onto the figure I was working with, I elected to replace the walls, floors, and ceiling with untextured plane-primitives with coloring similar to the removed walls (light-light-grey). It's also worth noting this cut the number of mesh lights in the scene down to half.
The result was that the time taken for each iteration doubled. No, I don't mean the number of iterations in a given amount of time doubled... I mean exactly what I said. The time taken for each iteration doubled. I expected more iterations to be needed and planned to correct for that after testing what changes I had made so far, but after seeing how long each iteration was taking I didn't bother to see how many iterations would be needed.
Not sure what else to do, I then moved on to flavor #2. I went and set every single other mesh light from the scene to 0 kcd/m^2 except the ceiling lights.
The time taken for each iteration doubled again.
I thought about it some... and did a lot of experimenting. Eventually I turned those plane-primitives into mirrors. That brought the time taken for each iteration back down to about the original 1.4 iterations per second. But now the number of iterations needed had tripled.
Okay then, I expected... something... like that. Not to that extreme, but whatever. I break out the ghost lights 3 kit, throw up two simple square lights to the left and right of the camera facing my figure.
Good news... I have optimized the scene! It now takes ~1000 iterations and 50 minutes to reach convergence.
I'm actually really hesitant to ask for help on these forums after how I was treated last time. But I'm passing confused on this one. And, apparently, I can expect people to derail any thread I make about any issue with this scene so long as it takes more than about 10 minutes to render it... and for the moderators to allow said derailing. So... I have no choice but to focus on this issue first. Clearly there's something going on here that I don't understand (with the scene... not the community). More advanced techniques I can try? Something wrong with the techniques I've used? Something.
All the scene in question is, is Space Station Living Quarters. That's it. No figures. No additional props. Just that by itself. I plan to add a figure to the bed, but all times and iteration counts mentioned below are with the figure hidden in the scene outline... and the figure itself takes about 10 minutes to render in my "portrait/studio lighting" set with no optimizations. Render time for the desired angle is just over an hour on my RTX 3070.
Here's where I'm at now (note that the ceiling and two walls are marked hidden in the viewport):
Now, correct me if I'm wrong but... "complexity" in the sense of scene optimization primarily comes in three flavors...
- Too many faces at concave angles resulting in unproductive bounces for the ray tracing (increases the time each iteration takes to complete).
- Too many (or excessively large) ray sources... generally unnecessary mesh lights in a scene... resulting in more rays that need to be tracked (increases the time each iteration takes to complete).
- Not enough light for rendered parts of the scene... making achieving a low-noise render for those parts of the scene more difficult (increases the number of iterations required to eliminate the majority of the noise).
The set I linked above has a _lot_ of mesh lights and no "lights" lights. Just about every object... including the walls... has at least one emissive surface. Most of these are only 50 kcd/m^2, so not super bright. The ceiling lights are 3000 kcd/m^2. The ceiling lights are tru-white while all the others are the same sky blue.
So I started by focusing on flavor #1... I removed all objects from the scene that were not important/visible in the desired render. This included the walls behind and to the right of the camera as well as the floor and ceiling. Because I was likely to end up with the majority of my lighting coming from the mesh light that had previously been hanging from the ceiling (and now were floating magically on their own) and because the wall behind the camera was no longer there to bounce light onto the figure I was working with, I elected to replace the walls, floors, and ceiling with untextured plane-primitives with coloring similar to the removed walls (light-light-grey). It's also worth noting this cut the number of mesh lights in the scene down to half.
The result was that the time taken for each iteration doubled. No, I don't mean the number of iterations in a given amount of time doubled... I mean exactly what I said. The time taken for each iteration doubled. I expected more iterations to be needed and planned to correct for that after testing what changes I had made so far, but after seeing how long each iteration was taking I didn't bother to see how many iterations would be needed.
Not sure what else to do, I then moved on to flavor #2. I went and set every single other mesh light from the scene to 0 kcd/m^2 except the ceiling lights.
The time taken for each iteration doubled again.
I thought about it some... and did a lot of experimenting. Eventually I turned those plane-primitives into mirrors. That brought the time taken for each iteration back down to about the original 1.4 iterations per second. But now the number of iterations needed had tripled.
Okay then, I expected... something... like that. Not to that extreme, but whatever. I break out the ghost lights 3 kit, throw up two simple square lights to the left and right of the camera facing my figure.
Good news... I have optimized the scene! It now takes ~1000 iterations and 50 minutes to reach convergence.
I'm actually really hesitant to ask for help on these forums after how I was treated last time. But I'm passing confused on this one. And, apparently, I can expect people to derail any thread I make about any issue with this scene so long as it takes more than about 10 minutes to render it... and for the moderators to allow said derailing. So... I have no choice but to focus on this issue first. Clearly there's something going on here that I don't understand (with the scene... not the community). More advanced techniques I can try? Something wrong with the techniques I've used? Something.
Last edited: