Skip to content

Keep fast action moving and render at a third of the speed - #17

Merged
Alitleis123 merged 22 commits into
mainfrom
fix/fast-action-cuts
Oct 28, 2026
Merged

Alitleis123 merged 22 commits into
mainfrom
fix/fast-action-cuts

Conversation

@Alitleis123

Copy link
Copy Markdown
Collaborator

Fast action no longer freezes, and every render with in-betweens comes out at a third of the speed, ready for Twixtor-style time remaps.

Fast action

A one-shot fight clip on 2s came out with 38 of its 53 in-betweens as exact copies of the drawing before. The check that tells a cut from a move was tuned on Hero, where the fastest move scores 0.045 and cuts start at 0.098, so a fast swing at 0.06 to 0.21 read as a cut.

  • A pair now counts as a cut only when it scores over 0.06 and one of these holds: it is more than 3x both neighbours, it scores over 0.3, it has no neighbours, or the colours change (H-S histogram, Bhattacharyya over 0.8).
  • Neighbours that are pose repeats are skipped, so a move between two poses is judged against real moves.
  • On 98 clips from scene packs (13,645 pairs, 69 joins made by splicing clips), the old rule held 933 pairs and caught all 69 joins. The new one holds 468 and catches 66. The fight clip went from 38 held frames to 1, the frame after the last marker.
  • A clip with markers gets no cut check at all. The markers decide, and the docs say to mark the last frame before a cut.

A third of the speed

With Interpolate on, Render draws three frames for every clip frame and plays the clip at a third of its speed. There's no setting for it. With Interpolate off nothing new is drawn, so an upscale keeps the clip's length and Show Original still flips between them.

  • The stage takes --slow-motion N (1 to 4, default 1). The panel always passes 3.
  • A slowed render goes on the track above whole, its markers are read at its speed, and Compare stays off for it.
  • A slowed render of a marked clip ends on its last marked drawing, so it has no frozen tail. Unmarked clips keep their last hold, and 1x keeps the clip's length.
  • README, help.html and the home page's Output card say so.

Checks

  • The full suite and the release build check, plus GPU renders in Resolve Studio on Windows: the fight clip at 1x and 3x (324 frames at 23.976, all 54 marked drawings exact at 3x their frame), a 60 fps close-up and a 30 fps fire shot.
  • Release folders are rebuilt after each change.

The shot check held every pair of drawings whose warps disagreed by more
than 0.06. Fast one-shot action scores up to 0.21, so a Jujutsu Kaisen
fight came out with 37 of its 53 in-betweens frozen. A pair now counts as
a cut when it stands out from the pairs on both sides of it, scores over
0.3, or changes colour sharply.
A pose fills several slots with one drawing. Those repeats scored 0 as
neighbours, so any move between two poses looked like a lone spike and
was held as a cut. The renderer now reads on past the repeats and
compares each change with the nearest real changes on either side.
@Alitleis123
Alitleis123 merged commit 38e2f8d into main Oct 28, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant