(Solved) Closeup 1920x1920 px portrait takes so long to render (on a 4090)
Jumbotron
Posts: 147
Hello there,
Truth is that I'm quite puzzled. It's a closeup portrait of Twosret 8 with the hair, a top, two earrings and one ring. Render subd levels are 4 for the model, 3 for the hair and 2 for the top. And it is almost literally taking forever to render at 1920 x 1920 pixels on an RTX 4090. Every iteration takes like 4 or 5 seconds at that resolution. Is that normal? On the original 3840x3840 it was much worse, as you can imagine.
Windows 11 Pro and Daz Studio 4.22.0.19 general release.
EDIT: I don't know what was going on exactly. But I've turn on the PC and run the Studio now and the scene renders quite normally. Nothing of the problems I had seen before.
Twosret.jpg
1641 x 1837 - 501K
Post edited by Jumbotron on
Comments
Typical issue: you ran out of VRAM and render fell back to CPU... that was why the iteration update was drastically slowed down ~
Hi crosswind,
Thanks, but I don't think that was the problem in this case. I mean, I have the CPU disabled for rendering. If the GPU fails, the render should simply stop, I believe. Correct me if I'm wrong, please. And while I did not watch the VRAM usage, that the system ran out of VRAM for this specific scene seems not that likely either. It's a single Genesis 8 HD human figure in the scene (Twosret 8 HD), with hair, a top and few pieces of jewelry. And the lighting used was just one of the HDRI maps provided by this product: https://www.daz3d.com/click-n-render-ibl-set
A very simple setup, as you see. Even at level 4 render SubD for the Genesis 8 HD figure, that shouldn't set an obstacle for my RTX 4090 card. Anyway, whatever it was the problem that the application found, when I later ran it again and loaded the scene after turning on my PC, wasn't there anymore.
SubD should be used only as high as its needed. Every level of subD increases your polygon count by 4x
FIgures shoudl be fine at 3. If you go to 4, shut off body parts that are not seen in the camera so that DS is not processing them.
Hair, I have never set past 2. Try adding a smoothing modifier with no collision object and mess with the smoothing iterations for a smoother look
clothing should match the figure. In your case, I would try dForcing the shirt first from the starting pose and only adding subd and smoothing if needed.
Hi Mattymanx,
Thanks for the advice.
This technique of adding a smoothing modifier with no collision object is for the hair, right? And I understand the smoothing iterations part. I mean, I know the difference between them and the collision iterations. What I don't quite understand is the reason behind not selecting a collision object. Shouldn't be the Genesis 8 figure the collision object for the hair?
The top figure is not dForce. But I can try adding a dynamic surface modifier to it and check how the simulation runs after that.
Thanks again.
EDIT: I added the dForce dynamic surface modifier to the top and as soon as the simulation starts, the top disappears. I've tried increasing the friction property of its two surfaces and reducing the Dynamics strength for the two of them, but it will still disappear as soon as the simulation starts. Unless you have some suggestion to fix this, I'll try adding the smoothing modifier instead.
A disappearing top when simulation starts, might be because there is overlapping verteces, i.e. 2 (or more) in same spot.
You can try to look at it in texture wire view, and if there is areas that look problematic, add a dForce weightmap and paint these areas to 0 (no dynamic strength).
But it might be that it just can't be dForced.
Ah, I'm afraid you have to dbl-check your settings again, in Render Settings > Hardware tab. Like the attached screenshot shows... if you unchecked CPU in Devices list but kept Allow CPU Fallback checked in General at the bottom... the Engine would still fall back to CPU when it ran out of VRAM.
And you can check DS log as well, if the engine detected insufficient VRAM, it would throw a message into the log telling you GPU stopped rendering and it fell back to CPU. Besides, you also can monitor VRAM usage and GPU load by using GPU-Z.
However, what's your DS version? I do remember that with 4.12 or 4.14/4.15, there was sort of "glitch" that the engine fellback to CPU even if it didn't ran out of VRAM ~~ But I've not seem such an issue since 4.16 ~~
Thanks, felis. I've tried looking at the top in wire texture shaded view. One thing that I've noticed is that the material of the top is quite thick in some areas, namely the straps. Other than that, I haven't seen anything that looks wrong. So I've opted for not modifying anything. With the smoothing modifier, one morph for the straps included with the top and a little bit of Mesh grabber were the strap clipped through the Genesis 8 figure's skin, I've done what I've been able to.
I've also used a different hair in the end for the model, short this time, that being SBH, I've converted to the Omni shader for the render.
The truth is that the top's straps still look kind of ugly now. Perhaps increasing the smoothing iterations would help. I'll try that.
The reasons I sometimes dont have the hair collide with anything is so it would not create weird results if it collided in a odd spot such as ears or over/around fingers. And its easier on resources to smooth then it is to subdivide.
I dont personally know why the clothes sometimes disappear when dForced. I have encountered it but dont know the official reason why.
With SBH based hair, on the surface tab, regardless of what shder you are using on it, set the smoothing angle to 180. This some how saves on vram when using SBH. I have no idea why, I only know this cause DS use to report vram use in the log and I noticed it one time. So I do it.
All right. I will enable 'Allow CPU fallback', that I was not using before. Now it looks like in the screenshot attached. The reason why I haven't enabled the CPU itself is that because by doing so the viewport gets lagged, or at least that was the case when I started using Daz over one year ago.
And thanks for mentioning the log and the convenience of GPU-Z. I use both in fact. And GPU-Z indicated around 13,000 to 14,000 MB usage for the VRAM and around 28,000 system RAM for this scene. My card has 24 GB VRAM and my system a total of 64 GB RAM.
My version of Daz Studio is 4.22.0.19 (general release).
Thanks for the information. Very interesting. I will try smoothing different hairs on the same figure with no collision objects and see the results. And will do comparisons with the default smoothing angle for strand-based hairs and setting it to 180º.
Yea, it's not really necessary to check CPU in Devices list but again, if you don't want any Fallback to CPU, just uncheck Allow CPU Fallback. Then when running out of VRAM, the engine will just stop GPU rendering instead of bringing you very slow CPU rendering.
But I also notice that you set 16384 in both Texture Compression Thresholds, which means there'll be no Medium and High texture compression at all when rendering unless there're >16K texture maps in your scene. So just pay attention when you render big scenes with lots of texture maps < 16K.
Thanks again, crosswind. For the time being, I will let 'Allow CPU Fallback' enabled. I don't think I will find scenarios where the GPU fails for whatever reason very frequently anyway.
And yes, you're right, when I started using Daz I read a lot of tutorials at the Renderguide website and there I read the recommendation to set the texture compression as loose as the GPU allows in Daz Studio, so that textures wouldn't get accidentally compressed. As a noob, I didn't give it much thought and simply followed the recommendation. I'm just a hobbyist anyway and I'm not doing anything for anyone else in Daz, and I usually don't go for really heavy scenes.
One thing that I noticed not long ago in one scene I rendered is what I explain next. I had the female figure very close to a wall that served as the background and the texture of this wall looked really bad; it had poor definition. So I upscaled the texture of that wall in the background X6 with Topaz Gigapixel. The resulting texture map was 20384 x 20384 pixels or something very similar to that figure. When I loaded the modified texture map in Daz, I saw that it wouldn't render. I guess that the upper limit of 16384 that I can set for the texture compression with my card in Daz also means that my card won't read textures bigger than that.
Haha ~ I ever did the same thing with Gigapixel but to 8K at most ~
No problem ~ Happy rendering !
A little late to the discussion, but sometimes I find the rendering slowing down if I haven't restarted Daz in a while. Sometimes restarting Daz and/or the pc does improve things. Seems like continued usage chips away at available vram and you need to start with a clean slate.
I agree. Sometimes, restarting at least the application can help liberate resources. I believe that I experienced that here in fact, as I expressed in the first post.