Is there a way to speed up rendering 'preparation' before each frame of an animation?

SnowSultanSnowSultan Posts: 3,596

I did an animation render test today and it took about 40 minutes for 5 seconds at 30fps...no complaints at all about the actual frame rendering time, but this probably could have been cut in half or more if it didn't have to 'collect textures' and other pre-rendering tasks before every single frame. Are there any settings or methods that can help reduce or eliminate this happening before each frame is rendered? I doubt it, but I figured I'd ask. Thanks very much.

Comments

  • Richard HaseltineRichard Haseltine Posts: 101,058

    Use Iray shaders on any surfaces still using 3Delight shaders, so DS doesn't have to convert them - I don't think it takes a lot of time per iamge, but it may add up over many frames. Try to finalise other things as far as possible, so DS doesn't have to do more than it need (though obviously for an animation you can't bake the modifiers on most meshes to a static prop).

  • SnowSultanSnowSultan Posts: 3,596
    edited July 2023

    My example didn't have anything unusual or special about it except the figures using subdivision, so there's probably not a lot I can do. I'll try a test with no textures and one with Filament and see if the delays are still there.

    edit: Filament renders instantly, amazing...too bad it's...awful. Having no textures does speed things up, but of course that isn't practical.

    Post edited by SnowSultan on
  • KitsumoKitsumo Posts: 1,216

    Here's a trick that I used to use for animations.

    When you have your scene set up and ready to start rendering, open the Aux Viewport and enable Iray Preview. Actually you can set up a separate camera just for that Aux Viewport and point it away from your scene so it renders faster, it should still collect all the textures and everything needed for a render. Now, as long as you keep that Aux Viewport Iray Preview open, DS should keep all the scene's textures and geometry loaded in VRAM and it won't unload/reaload them between every frame.

    A similar trick is that you can just render one frame of the animation, and keep that window open. It should accomplish the same goal, but I think this method may use extra VRAM.

    It's been a long time since I actually used this, so I don't know if it still works with all the changes to Iray.

    If you want to see if it's working, you can use MSI Afterburner or CPU-Z to see if it's dumping all the VRAM and reloading between frames.

  • benniewoodellbenniewoodell Posts: 1,969

    I always render out one frame, doesn't have to be fully rendered, I stop it once I see an image, and that loads everything up as long as I don't close that window. Then when I render the animation, it just continuously renders and doesn't have to spend time loading everything up. Saves so much time. 

  • marblemarble Posts: 7,500

    benniewoodell said:

    I always render out one frame, doesn't have to be fully rendered, I stop it once I see an image, and that loads everything up as long as I don't close that window. Then when I render the animation, it just continuously renders and doesn't have to spend time loading everything up. Saves so much time. 

    I think I've tried this too - at least I might have had an Iray scene open in the Aux Viewport. The reason I don't do it often is that I suspect it uses more VRAM although I have not confirmed this by experiment so I might be way off track with that reasoning. 

  • SnowSultanSnowSultan Posts: 3,596

    That sounds great, I will try it when I'm back on Studio later. Thanks very much!

  • SnowSultanSnowSultan Posts: 3,596
    edited July 2023

    I'm not completely sure if I'm doing it right, but it did go from 3 minutes for 10 frames to 2 minutes, 6 seconds when the Aux Viewport was left open. However, it seems to ignore the Render Range (kept right on going past the frame I set to end on), and it was impossible to cancel the render with the Aux Viewport open (I had to shut it down with Task Manager). Not sure if anyone else can replicate those results, but it does seem to be an improvement. Thanks again!

     

    edit: Rendering with a single frame in a window left open and as an image sequence gave me the same speed (2 min, 6 seconds), but stopped at the right frame. Should be rendering image sequences anyway. Seems to work well, I appreciate it!

    Post edited by SnowSultan on
  • WendyLuvsCatzWendyLuvsCatz Posts: 38,237

    or use D|S4.11 if you have it

    this information in this thread is useful however if I am using Genesis 9

  • Catherine3678abCatherine3678ab Posts: 8,344

    I haven't run time tests on this but do recall some claiming that if the background is exactly the same for a number of frames; do one render of the background then hide it, and render out everything else with a transparent background. Unite in post.

Sign In or Register to comment.