Skip to content

Conversation

vadosnaprimer
Copy link
Contributor

@vadosnaprimer vadosnaprimer commented Jul 27, 2025

software mode at high resolutions takes longer to render and to dump frames than opengl at comparable resolutions. so more real time passes between frames, which makes the ending advance the melt effect further than normal on the next frame.

the code was always doing this, but it was written with much lower resolution in mind too, and viddump wasn't as widespread back then maybe?

now melt consistently takes 45 frames, even tho in wipe_doMelt() cph says it takes 25 for some reason (that whole comment kinda contradicts current reality anyway).

fixes #714

Videos for comparison (software mode only, opengl looks similar but the pattern is slightly different):

320x240.mp4
2560x1440.mp4
3840x2160.mp4

@vadosnaprimer
Copy link
Contributor Author

vadosnaprimer commented Jul 27, 2025

I couldn't make dsda_wipe_at_full_speed make any effect with or without this PR, so I don't know if I broke it or if it was already broken or if it's fine.

In the future I might try making wipe last fixed time even if framerate changes. But making the pattern itself look consistent across settings is beyond my knowledge.

software mode at high resolutions takes longer to render and to dump frames than opengl at comparable resolutions. so more real time passes between frames, which makes the ending advance the melt effect further than normal on the next frame.

the code was always doing this, but it was written with much lower resolution in mind too, and viddump wasn't as widespread back then maybe?

now melt consistently takes 45 frames, even tho in `wipe_doMelt()` cph says it takes 25 for some reason (that whole comment kinda contradicts current reality anyway).

fixes kraflab#714
@vadosnaprimer
Copy link
Contributor Author

Added interpolation for different framerates and heights.

In some cases offsets become lower than 1 pixel, and if we want to stick to integer-only math we have to clamp it to 1 pixel. Those are rare cases tho, like framerates above 80 or resolutions lower than 320x200.

reference.mp4
35.mp4
60.mp4
144.mp4
tiny.mp4
4k.mp4

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.

Wipe/melt effect is inconsistent across video modes/resolutions

1 participant