Help getting scene to render faster (using Iray)
kaotkbliss
Posts: 2,914
Ok, so I've set up a scene using
Urban future 4
Urban Future 2
sci-fi black market alley
yamaki rapture x2
about 4 lorez figures
a handful of signs from City Signs
G2M riders for the yamaki's x2
G2F with 110.1 cybornetic limbs
2 buildings from Urban Sprawl 2
about 10 male characters
about 10 female characters
2x rain props from Fire and Water over at rendo
4x rain on ground props from Fire and Water
free atmospheric fog prop from RDNA
8x cone primitives
various clothes and hair for everyone
I think that pretty much covers it all. So When I first set it up, the 10 male and 10 female characters were all lorez figures and the scene rendered at normal speeds. But as it sharpened I noticed that they just didn't look right. Everyone was expressionless and there were no morphs to add even simple expressions to them. So I converted them all to G2M and G2F figures, which after posing I converted to props.
Well now my render times shot up drastically. After 8 hours of rendering, I only got to about 14-20 iterations and 2% convergence
So I deleted a bunch of buildings that were off camera, increased all my light values and lowered the ISO a little, and I used texture atlas on all the G2 figure props and background buildings to shrink texture sizes.
I also had an opacity map on the primitives with a slight emmission for the headlight beams on the bikes which I removed the opacity map and set the cutout opacity down to like .001
So now I get to about 3% convergence or around 14 iterations in less than 1/2 hour (That's much better, I can deal with that) except that after this time it seems my video card (a gtx 970) stops responding and my whole computer screen goes very dark grey (almost black) flickers once in a while for a bit but never recovers and I much hit the reset button on my pc.
I'm pretty sure my scene is too big to be used by the card to begin with and I've not had this issue happen before but it seems to do it every time with this scene :(

Comments
Do a composite of your scene. Cut it up and render in layers (Background, midground, foreground). Do this with your characters as well. This means that you have to think of your scene a bit strategically because your going to end up combining all of these renders in photoshop to create a single pic. It may take a few trys, but you should be able to improve your render times although you will have to do multiple renders.
Heres an example:
http://www.daz3d.com/gallery/#images/201861/
I had to do this in two stages. The red pickup, and the character under the pickup as well backdrop were one render. The two foreground characters, the car and the dino were another render. I had to do them seperate because when I tried to render them all together daz would just crash. So I did a composite (I think thats the right term) and assembled the full thing in photoshop.
Yeah. If your scene exceeds the memory available on the video card, it falls back to CPU rendering. To make matters even worse, if the size of the scene plus everything else you have running (operating system, browsers, etc.) exceeds your physical memory, it's going to start paging out memory to disk, which will bring your whole system to a complete crawl.
I never did like rendering in layers as shadows won't fall correctly and I don't have photoshop (although I do have Gimp, I only just started using it and only for simple things)
First thing I thought was maybe my CPU got de-selected as part of the render and somewhere my PC was failing to automatically switch over when GPU was dumped. I checked and both are selected but I think I was partially correct. The log file seems to suggest my pc is having problems dumping the GPU so maybe if I simply de-select the GPU and do CPU only...
The render part of the log:
2016-30-08 22:30:22.488 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : Emitter geometry import (458 light sources with 1772k triangles, 1 instance) took 0.16s
2016-30-08 22:30:22.491 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : Updating environment.
2016-30-08 22:30:22.498 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : Updating lights.
2016-30-08 22:30:22.662 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : Updating object flags.
2016-30-08 22:30:22.664 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : Updating caustic portals.
2016-30-08 22:30:22.664 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : Updating decals.
2016-30-08 22:30:23.037 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : Using batch scheduling, architectural sampler disabled, caustic sampler disabled
2016-30-08 22:30:23.044 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : Initializing local rendering.
2016-30-08 22:30:23.229 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : CPU: using 2 cores for rendering
2016-30-08 22:30:23.332 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : Rendering with 2 device(s):
2016-30-08 22:30:23.332 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : CUDA device 0 (GeForce GTX 970)
2016-30-08 22:30:23.332 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : CPU
2016-30-08 22:30:23.337 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : Rendering...
2016-30-08 22:30:51.380 WARNING: dzneuraymgr.cpp(261): Iray WARNING - module:category(IRAY:RENDER): 1.4 IRAY rend warn : RTKernel: please check the input geometry (degenerated/inefficient RT hierarchy)
2016-34-08 22:34:29.640 Iray INFO - module:category(IRAY:RENDER): 1.12 IRAY rend info : Initializing light hierarchy.
2016-36-08 22:36:01.800 Iray INFO - module:category(IRAY:RENDER): 1.3 IRAY rend info : CPU: Scene processed in 338.452s
2016-36-08 22:36:03.289 Iray INFO - module:category(IRAY:RENDER): 1.3 IRAY rend info : CPU: Allocated 660 MB for frame buffer
2016-36-08 22:36:08.749 Iray INFO - module:category(IRAY:RENDER): 1.2 IRAY rend info : CUDA device 0 (GeForce GTX 970): Scene processed in 345.401s
2016-36-08 22:36:08.834 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): out of memory (while allocating memory)
2016-36-08 22:36:08.847 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): Failed to allocate 861756108 bytes
2016-36-08 22:36:08.965 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): May not have enough memory available to start CUDA kernel (estimated 821MB).
2016-36-08 22:36:50.861 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): out of memory (while allocating memory)
2016-36-08 22:36:50.861 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): Failed to allocate 115200000 bytes
2016-36-08 22:36:51.295 WARNING: dzneuraymgr.cpp(261): Iray WARNING - module:category(IRAY:RENDER): 1.2 IRAY rend warn : CUDA device 0 (GeForce GTX 970): Failed to allocate 660 MB for (device) frame buffer, will try allocating smaller (partial) frame buffer
2016-36-08 22:36:51.333 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): out of memory (while allocating memory)
2016-36-08 22:36:51.334 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): Failed to allocate 861756108 bytes
2016-36-08 22:36:51.429 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): May not have enough memory available to start CUDA kernel (estimated 821MB).
2016-36-08 22:36:52.198 Iray INFO - module:category(IRAY:RENDER): 1.2 IRAY rend info : CUDA device 0 (GeForce GTX 970): Allocated 330 MB for device frame buffer
2016-36-08 22:36:54.777 Iray INFO - module:category(IRAY:RENDER): 1.2 IRAY rend info : CUDA device 0 (GeForce GTX 970): Allocated 660 MB for host-side frame buffer
2016-36-08 22:36:54.917 WARNING: dzneuraymgr.cpp(261): Iray WARNING - module:category(IRAY:RENDER): 1.2 IRAY rend warn : CUDA device 0 (GeForce GTX 970): Succeeded in allocating partial device frame buffer. Device efficiency will be affected.
2016-36-08 22:36:55.173 Iray INFO - module:category(IRAY:RENDER): 1.2 IRAY rend info : CUDA device 0 (GeForce GTX 970): Used for display, optimizing for interactive usage (performance could be sacrificed)
2016-37-08 22:37:59.646 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : Received update to 00001 iterations after 456.299s.
2016-38-08 22:38:55.057 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : Received update to 00002 iterations after 511.720s.
2016-40-08 22:40:00.376 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : Received update to 00003 iterations after 577.038s.
2016-41-08 22:41:08.119 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : Received update to 00004 iterations after 644.781s.
2016-42-08 22:42:13.331 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : Received update to 00005 iterations after 709.993s.
2016-43-08 22:43:19.086 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : Received update to 00006 iterations after 775.749s.
2016-44-08 22:44:26.908 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : Received update to 00007 iterations after 843.571s.
2016-45-08 22:45:35.806 Iray INFO - module:category(IRAY:RENDER): 1.0 IRAY rend info : Received update to 00008 iterations after 912.469s.
2016-45-08 22:45:58.510 Iray INFO - module:category(IRAY:RENDER): 1.5 IRAY rend info : CUDA device 0 (GeForce GTX 970): Prevent device timeout
2016-45-08 22:45:58.764 Iray INFO - module:category(IRAY:RENDER): 1.5 IRAY rend info : CUDA device 0 (GeForce GTX 970): Execute device timeout
2016-46-08 22:46:04.275 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.11 IRAY rend error: CUDA device 0 (GeForce GTX 970): unspecified launch failure (while launching CUDA renderer in core_cuda_host.cpp:340)
2016-46-08 22:46:04.316 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.11 IRAY rend error: CUDA device 0 (GeForce GTX 970): Failed to launch renderer
2016-46-08 22:46:04.410 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): unspecified launch failure (while de-allocating memory)
2016-46-08 22:46:04.434 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): unspecified launch failure (while de-allocating memory)
2016-46-08 22:46:04.434 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): Device failed while rendering
2016-46-08 22:46:04.990 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): unspecified launch failure (while de-allocating memory)
2016-46-08 22:46:04.990 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): unspecified launch failure (while de-allocating memory)
2016-46-08 22:46:04.991 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): unspecified launch failure (while de-allocating memory)
2016-46-08 22:46:05.063 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): unspecified launch failure (while de-allocating memory)
2016-46-08 22:46:05.107 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): unspecified launch failure (while de-allocating memory)
2016-46-08 22:46:05.107 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): unspecified launch failure (while de-allocating memory)
2016-46-08 22:46:05.206 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): unspecified launch failure (while de-allocating memory)
2016-46-08 22:46:05.206 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): unspecified launch failure (while de-allocating memory)
2016-46-08 22:46:05.206 WARNING: dzneuraymgr.cpp(261): Iray ERROR - module:category(IRAY:RENDER): 1.2 IRAY rend error: CUDA device 0 (GeForce GTX 970): unspecified launch failure (while de-allocating memory)
Gimp should be fine for simply combining layers. Also when you split the scene you just need to be sure that the missing parts are not throwing shadows on any part being rendered. The ground should be in all the renders, it is just the high poly characters that are removed from certain layers.
Not sure how well layering would do with this scene (if I only even just had a partial render to show) most everything in teh scene is overlapping what would be other layers so nearly everything would have to be rendered for each layer anyway
Not to toot my own horn (toot) but this is one reason I developed the Iray procedural shaders in my sig.
One thing to try is changing texture compression to something absurd, like 1 x 1 (effectively removing all textures), and see if your machine can handle it. If so, the issue is texture load and it might be worth experimenting with no-texture surfaces.
Whatever the shot looks like, there is always a fore ground, background and mid ground, breaking up the the shot and combining layers is a tried a true method to get more into a scene. Also, characters in the background, can usually have less detail and smaller texture sizes to conserve resources. Using instancing also helps. Using billboards of character in the background is also an option to conserve a finite videocard's memory. Certain hair models may have as many as 100.000 polies, that kind of detail in a portrait is important but on a background character that detail would not be seen in the distance. Render the hairs separately for example. It is also possible depending on how they're made, the rain and atmospheric fog can put a hit on rendering.
The scene is set up much like a box
on the left, right and bottom you have the buildings
Filling all the space in between is the rain, ground drops and fog
Then in the background is a crowd of people (however they are still close enough that lack of detail is easily apparrent which is why I had to switch to G2 figures from the lorez)
In the foreground is the 2 bikes and riders.
So to split is up, the buildings, rain and fog would have to be in every layer
Then if I render the foreground figures and place them over the background figures, then where the headlights from the bikes overlap the crowd, the crowd would dissapear as the headlights are semi-transparent which means I guess I would have to add the headlights to the list of "needs to be in every layer"
When I get home I'm going to try the scene with CPU only
If that doesn't work, then I will have to make 2 renders, 1 with everything but the crowd and one with everything but the bikes although I've yet to get layering images to look even remotely as good as a full scene all at once, there's always some ghosting where I need backround parts to show through teh foreground parts. at which point some of the foreground parts start blending into the background parts.
I appreciate all the suggestions so far
I've just never been very good at all with photo editing (in fact, you could probably say I have an anti-talent with photo software like photoshop) so if there's a way to get it in-render, I'll make sure to do that.
So here's the scene so far at 4 1/2 hours, 24 iterations and 0% convergence in CPU only mode. Not super fast rendering, but a little faster than before reducing all the texture sizes in the background and my GPU isn't crashing (Because it's not being used)
The actual render size is 6000 x 4800 (so that it can be printed at a good resolution and size) but I had to resize it for the forums
*edit* oops, hit post instead of attach file
Follow the tips in this Daz video, How To Render Faster in Iray
More on a totally counterintuitive trick for faster rendering that works. Really, just try it.
Quicktip: Rendering Even Faster in Iray
One thing I did for a render with volumetrics - render the fog separately in 3Delight, with everything else set to black (no specular/ambient/reflectivity/etc) (could even do it with lights off and fog ambient pushed up, though that might not look right depending on the scene). Then add as a layer in GIMP using 'screen' type (set in the layers window) (black disappears, fog stays). Since it'll have the same edges as the Iray render, it looks ok - just won't pick up any emissive surfaces lights).
Thank you everyone for all your imput. I'm starting to think I need to step back and take a look at my scene in a different perspective than what my mind is currently seeing.
You can also, if you are careful and plan, render the harder parts (more memory/resource intensive) in 3DL, render the parts that benefit the most from Iray separately, and composite those together. Compositing is really the way to go. Studios do it, you can as well! Even basic compositing such as rendering your background elements as a separate image and bringing it in as a background for the main render, will save time and resources.
That's a very dynamic image. I like the camera angle and the sense of action. I see your point about the light beam and the background characters. Still might be worth a try to render the background and crowd, and then a separate render for the bike riders and the girl and composite it in an art program. Postwork can be intimidating but worth a try. Definitely worth working on. cause it'll be a cool render when done.
@kaotkbliss re: rethinking your scene
I think you have a lot more in your scene than needed. For example, I think your scene would have the same impact with just the alley props. Urban future isn't really needed. If you can't do without, remember to "turn off" everything that the camera can't see. Secondly, ditch the rain and fog. No one will streetrace in the rain. The racers won't know what to expect from their machines and won't risk the money etc in unknown conditions. Dystopia won't be different from reality in this case.
Most of the background is from Urban future
The corner of the buildings that the red "ticket" sign and "sun travel" are on is the urban future 2 building. The street, bridge, and buildings on the right are all urban future 4. The only part of the alley that I'm using is 1 wall to block the empty space under the bridge because I deleted (not just hid) all the extra buildings out of UF 4 that I didn't need. The 2 buildings behind the alley wall are from Urban sprawl and those were loaded individually so nothing else from that set was loaded.
As for the rain and fog, There must be something pretty huge at stake for them to be riding in that weather... or perhaps the tech is advanced enough that the weather doesn't affect the traction :D