Is Daz Studio smart enough to not render frames which are exactly the same?

jamesramirez6734jamesramirez6734 Posts: 90
edited November 2020 in Daz Studio Discussion

Naturally with animation, you may get some frames which are identical.

Is there anything built into Daz which will detect identical frames and skip them? Of course you could remove these duplicates yourself, but then you'd need to use a video editor to readjust all the timing again.

Post edited by Chohole on

Comments

  • ZilvergrafixZilvergrafix Posts: 1,385
    edited November 2020

    how you render an animation?, do image series, is more secure, and if your process is broken, say...only frames rendered from 0 to 235 and your total is 850 you could continue from frame 236 to 850 and not begining to 0.

    and Virtual Dub only requires the first frame and it will include the rest, for this example check my video on time 10:31

    Post edited by Zilvergrafix on
  • nonesuch00nonesuch00 Posts: 18,282

    No it's not. It does what you edit it to do.

  • DartanbeckDartanbeck Posts: 21,714

    Right. Sometimes we need those extra identical frames for timing. It's up to the artist to set up the render.

  • using a video editor after rendering an image series is the most sensible choice in any case.

  • Thanks for confirming. Real shame as from a programming perspective, it's extremely easy to detect if frames are identical. In fact it's optimisation at its most basic.
  • using a video editor after rendering an image series is the most sensible choice in any case.

    This requires you to reduplicate all your timing work, unless I'm misunderstanding something.
  • using a video editor after rendering an image series is the most sensible choice in any case.

     

    This requires you to reduplicate all your timing work, unless I'm misunderstanding something.

    if you are rendering to video you are losing quality from the start as D|S actually renders to png series in application data then compiles and compresses it into a video file

    if syncying to a lipsync track using Mimic live there will be a wav file it produces in your documents

    otherwise I am unsure what you mean by timing work

  • PerttiAPerttiA Posts: 10,024

    It's been quite a while (two decades) since I have done video editing on a PC, but the idea of rendering only the changed areas of the image is nothing new, it would have taken at least 10 times longer to produce the final result without it.

    If DS renders animation as if it was just a series of separate still images, there would be huge improvements in overall rendering time if only the changed parts were rendered.

  • TBorNotTBorNot Posts: 370

    My biggest time saver for animations comes from being on a Mac, and the movie save routine doesn't work.  See, 100% time saving!

     

  • AscaniaAscania Posts: 1,855

    Unfortunately, D|S doesn't know what the changed parts are without rendering them.

  • nonesuch00nonesuch00 Posts: 18,282
    PerttiA said:

    It's been quite a while (two decades) since I have done video editing on a PC, but the idea of rendering only the changed areas of the image is nothing new, it would have taken at least 10 times longer to produce the final result without it.

    If DS renders animation as if it was just a series of separate still images, there would be huge improvements in overall rendering time if only the changed parts were rendered.

    Yes, a DAZ programmer could take two frames and compare all the scene animinate frames geometry and materials content and discard the duplicate scenes but that then ruins people's attempts to time their animations to be what they want as another poster stated earlier.

    If you had a movie open with a shot of a building and the statue in front of it for 5 seconds then what you are wanting done would not allow that 5 seconds to be made. Instead, you would have to ask the people watching the movie to know that it should be paused at a frame like that for 5 seconds and then the movie started playing again instead of 5 seconds worth of frames that look like that scene. What you are wanting makes no sense from the perspective of the people making the moving or watching the movie.

    Anyway, when you encode the movie the movie encoder has all the software capabilty to use encode only the parts of the frames that are changing between frames while keeping parts of the frame that haven't changed from some prior frame intact. And the movie files has information for the software regarding timing of the video frames, audio frames and other needed information. For that to work you need to make your movie with normal timing for the movie software can work correctly without your further intervention. That software mechanism is completely different from making and showing a film on celluloid film where you must print every frame on a film strip and sync that printed celluliod with a printed soundtrack as well.

    Like Wendy Catz says, the DAZ Studio encoding of a movie film isn't that great. You are better off exporting your animation to a series of images and then using Blender or other 3rd party software to collate those frames into a movie and then collate and sync a sound track with those series of frames. You can add duplicate frames in Blender (or whatever 3rd party SW you are using) to help sync lips and music to match what you need them to match in you movie. That is more difficult once you already collate the frames into a movie file and try to sync a soundtrack to that movie film.

  • jamesramirez6734jamesramirez6734 Posts: 90
    edited December 2020
    otherwise I am unsure what you mean by timing work

     

    In the sense that, when you animate on the timeline, you're placing pauses where nothing happens (between speech stopping and starting for example). You do this so the animation looks as you want it to.

    But the problem is you can't just go and render this work, because Daz will waste days rendering identical frames where the pauses occur. This is painful because you now need to identify and remove all the duplicate frames yourself, render an image series, and then re-add in the pauses in a video editor.

    It would be extremely simple if Daz just skipped duplicate frames from the rendering process (when it finds an identical frame, it just outputs the result of the previous render).

     

    Ascania said:

    Unfortunately, D|S doesn't know what the changed parts are without rendering them.

    Daz absolutely does have this information. It knows whether one frame is identical to another.

    Post edited by jamesramirez6734 on
  • WendyLuvsCatzWendyLuvsCatz Posts: 38,493
    edited December 2020

    mine rarely have lots of pauses where nothing happens because I render lots of segments and join them

    the figure usually has some idle motion and blinking also

    I am trying to picture what sort of animation you are doing, like a wooden doll?

    as for camera flyarounds I stick static frames inbetween my camera dolly pan segments all the time

    Post edited by WendyLuvsCatz on
  • Anyone who wanted to get started in scripts, this might be a good project to try to do. It'd be kind of cool if a script could render an animation frame by frame, but when it detects that the scene hasn't changed, it just automatically copies the rendered image.

  • it may also be the nature of the GPU path tracing render engine because Carrara native which is an old fashioned ray tracer certainly knows when bits haven't changed and the tiles just skim over those bits.

    I haven't checked with 3Delight but suspect it's the same.

Sign In or Register to comment.