p2or / blender-loom

image sequence rendering, encoding and playback
175 stars 10 forks source link

Frames missing while using the x2 parameter #81

Closed Gamigre closed 8 months ago

Gamigre commented 8 months ago

Hi, I'm doing a render on two different computer and used Loom to render every odd frames on a machine and every even frames on the other. I used the parameter 1-3199x2 on the first machine and 0-3200x2 on the second one. My outputs were as expected at first but on the two machines every second frame would be skipped, meaning that instead of rendering the frames number 0,2,4,6,8,10,12 etc on the "even" machine, it rendered 0,2,6,10,14,18 etc (same for the "odd" machine, instead of rendering 1,3,5,7,9,11,13 it rendered 1,3,7,11,15). I went to sleep thinking each machine would do a second pass to fill the gaps but either it didn't or couldn't because Blender crashed overnight.

-If it's working as intended, is there a way to do all the frames defined by the x2 command as one pass instead of two? -If it's not do you have any idea on how to fix it ? I started two other renders (as blender crashed anyway) to fill the gaps, by using the 5-3199x2 parameter for the odd machine and 4-3200x2 on the even one. It still skips half the frames it should render but is actually filling the gaps left by the previous render doing so.

The two different machines are using their own local copies of the .blend file and their directories are also stored locally and not shared between the two machines. Clicking the little ghost icon doesn't report anything unexpected in the infobox, hence why I thought Loom would eventually comes around and render the frames it skipped.

Thanks for your work, cheers

Gamigre commented 8 months ago

It looks like Loom is skipping a frame every two frames no matter the parameters used. I tried a simple range like 25450-2650 and it still only rendered half of them. The info box says otherwise. My render's frame range step parameter is at one. Not sure what's wrong here

p2or commented 8 months ago

Hi @Gamigre,

thanks for your detailed bug report, I really appreciate it. Your idea is good and that's what this add-on is all about, so this must work. Unfortunately, I cannot confirm this behavior, as it works as expected on my end (Blender 4.0.1, latest version of Loom), see the gif:

ezgif-4-08c5cbc3fc

Do you mind sharing a blend file to play with? Which version of Blender and which version of Loom are you using?

Cheers, Christian

Gamigre commented 8 months ago

I'm using the last version of loom and blender 4.0.2. And for the file, I'm afraid it is an absolute mess in addtion to be very big. It has its own set of issues that could be interfering. Let me try on another file to see if I can reproduce this issue. Also I have this error message when I try to render a specific scene (which contains my other scenes assembled on the sequencer). It weren't occuring before and could've started happening after a crash but i'm not sure. I already fixed it by starting a render in another scene, stopping it then restarting the render in my Master scene but it started happening again. I'm sorry the infos are quite blurry, here's the error message, tell me if I should open another issue thread. Python: Traceback (most recent call last): File "C:\Users\ggami\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\loom_0_9_1.py", line 1138, in invoke self.frame_input = filter_frames( File "C:\Users\ggami\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\loom_0_9_1.py", line 136, in filter_frames frame_range = around(arange(start, end, step), decimals=5).tolist() ZeroDivisionError: float division by zero

Gamigre commented 8 months ago

On a simple default cube scene with the same "scenes nested into another scene" set-up everything works as expected, I must've broke something in my mess of a project file, I'll report back if I find what it is.

p2or commented 8 months ago

Hi @Gamigre,

just updated to Blender 4.0.2, no issues so far.

I must've broke something in my mess of a project file, I'll report back if I find what it is.

I have absolutely no problem with messy files. If it helps to figure out the actual issue, I will be happy to help.

Cheers, Christian

Gamigre commented 8 months ago

Here's the file https://we.tl/t-kCttQxDwqQ It should open right in the sequencer of the master scene called Sequence_master. Again, sorry for the size and the mess, I ran into way too many issues :C Thank you for helping me out.

Gamigre commented 8 months ago

image

I tried to render a sequence (2661-3200) with the placeholder option activated, here's how it looks. Frames are still skipped but I'm not sure under which circumstances.

p2or commented 8 months ago

Hi @Gamigre,

thanks for sharing the file, I'll take a look. As long as I am searching for the issue, you could try to disable the 'Placeholder' option (as this is not necessary in your case), enable 'Overwrite' (if you have not done so yet), use the stopwatch stopwatch to detect all missing frames and report back if you have the time.

Cheers, Christian

Gamigre commented 8 months ago

Thanks for your answer, I'll disable the placeholder option for now, the overwrite option was always enabled. The other machine i'm not currently on is rendering the missing frames and some more since this morning, I can say there is still some frame skipping even after launching a render with the little stopwatch, but it does fill most of the gaps so I guess the solution for now is to keep an eye on the render directory and restart renders with the stopwatch every now and then. Not ideal but doable! Thanks again.

p2or commented 8 months ago

@Gamigre One last thing: As the scene takes a lot of memory and Blender detects some dependency cycles while rendering, I'd suggest use the command line option if you don't already do that. As a first test, I'm currently rendering from frame 2661 in the command line and have no problems so far. Cheers!

Gamigre commented 8 months ago

@p2or I was not using the commandline option up until now ! I just restarted a render and I'll report back later. Side issue, the render was crashing nearly instantly with that option, I had to restart blender but it seems to work now. thanks again. Cheers !

Gamigre commented 8 months ago

@p2or The commandline option solved all the issues I had, thanks again for your kind help. Cheers,

p2or commented 8 months ago

Hi @Gamigre,

no problem, glad it worked. Thanks to your file, it turned out to be an issue of the sequencer - in some cases the scene (strip) gets evaluated two or even three times for whatever reason.

Until this behaviour is consitent/fixed, Loom now automatically switches to the command line if there is a 'scene' strip added to the sequencer and more than one image is to be rendered. If you have the time, you can test the changes made in the sequencer branch (will be merged in the next few days). Closing for now, can be reopened at any time.

Cheers, Christian