Page MenuHome

Objects and camera binds sometimes not syncing correctly in animation render (Eevee)
Closed, DuplicatePublic

Description

System Information
Operating system: Windows 10
Graphics card: Nvidia GeForce GTX 760

Blender Version
Broken: blender-2.80.0-git.03bd024c077d-windows64

Short description of error
In a scene with many cuts (switching cameras with markers), I've noticed that these cuts are coming a frame too late/early.
It is very noticable in a scene I've been working on recently where lighting changes with each shot.
I usually render via the command line with the --background flag, I tried rendering the same frame (where it wasn't cutting) a few times and it rendered with the same problem, I tred with the blender gui and it finally rendered on the second attempt.
In a single scene with 10 cuts, 5 of these cuts were 1 frame out of sync. On re-attempting most of these frames, they rendered correctly.
So it appears the exact same frame renders differently on different attempts, seemingly at random, without making any alterations to the file.

I also experienced a similar thing with an image sequence offset keyframe, it was incremented and it took 4 or 5 frames until the image updated, not 100% positive about this though, it might have been my error.

It's very odd, haven't experienced this issue in 2.8 until this recent build but then I haven't been doing much rendering recently.

I would provide a demo file, but any attempt to recreate it in another file/reduced version has been unsuccessful.

Details

Type
Bug

Event Timeline

William Reynish (billreynish) triaged this task as Needs Information from User priority.Apr 5 2019, 12:00 PM

Can you make a demo file that shows this issue? Would make it easier to reproduce and debug.

Thanks

Not without uploading a large blend file with about 10 minutes of animation I'm afraid.
I tried recreating it in a simplified file but it rendered correctly every time.

I'm getting this problem a ton recently and it's very annoying.

The only thing I can think is the camera markers / keyframes may be going ever so slightly off, if the constant interpolated keyframe or the camera bind marker is at position 100.0001, and the playhead is at 100 exactly, it is my understanding that it will not take this keyframe/marker into account when rendering frame 100.

I'll note that I'm usually using the sequencer for rendering animation, where the sequences are often offset by an integer, but never stretched or altered in any way.

What's odd is how I can render the same file and frame in background mode and I'll get an incorrect render, but if I open it in gui mode and hit render within exactly the same context then it renders correctly.
I believe I've had a couple incidents where it's incorrectly rendered in GUI mode, but I cannot be 100% certain that I was maybe at fault in those cases.

Not sure what good it'll be to upload the problematic file, anyway I've reduced it to its core elements but not sure if the issue will reproduce itself for others.
It's very long, and the only way to test it is to render lots of it from the 'editing' scene (which refers to the 'home' scene with a scene strip).

I'll restate the issue as I understand it - when an animation renders, although it correctly syncs all objects with the current frame, there's seemingly a 50% chance that the camera bind is lagging by one frame, so any sudden cuts where the lighting also changes instantly are very noticable. IOW the camera bind will happen a frame late.

I'll also note that I always render my animations with the video editor using scene strips, so I can divide my 'scene' into 'sub-scenes' (my term), with different increments, so if I decide to extend a sub-scene I can do so without messing up the numbering of sub-scenes that follow.

I'll also note, although it shouldn't make any difference, that I usually render in background mode within a command prompt, which seems to make the problem worse, ie, more than 50% of camera binds are lagging.

Rendering the problematic frames singularly however always seems to work, and the camera bind is in sync with the rest of the animation.

I'm convinced the problem is something like a rounding error that only happens with long animation jobs. What makes it so difficult to debug is the random nature of it.
e.g. If there's a camera bind from camera.001 to camera.002 at frame 347, sometimes frame0347.png will render with camera.001, sometimes it'll render with camera.002. No rhyme or reason. It's just random.
It's very frustrating because I use so many camera binds in my animations, I have to go through my rendered image sequences and check each cut, delete the problematic frames (usually around half of them) and re-render.

There is undoubtedly a bug here and I'd really appreciate it if someone could look into it.
Apologies I couldn't produce a better example file, but like I said, the testing involves rendering some frames before the camera bind. From my experience, it would seem the more frames already rendered, the more likely the issue will occur.

Surprised no-one has given any attention to this bug report.
This is a serious problem with the renderer.
I've had to spend many hours going through each frame of my animation looking for bad cuts since discovering this bug.
Please look into it.