[GH-ISSUE #564] [Feature Request] Split long frames when applying a progress bar to make it smooth #460

Open
opened 2026-02-26 09:31:30 +03:00 by kerem · 5 comments
Owner

Originally created by @SilentSin on GitHub (Dec 15, 2019).
Original GitHub issue: https://github.com/NickeManarin/ScreenToGif/issues/564

I'm using gifs to show step by step instructions where I manually adjust the timing to stop on a single frame for a few seconds, so my workflow is essentially:

  1. Merge duplicate frames.
  2. Manually edit frame times as necessary.

That works great, but if I want to add a progress bar that means it will stop every time there is a long frame which looks silly. So it would be cool if it had an option to split long frames into multiple shorter ones when adding a progress bar so that it can always be smooth.

Originally created by @SilentSin on GitHub (Dec 15, 2019). Original GitHub issue: https://github.com/NickeManarin/ScreenToGif/issues/564 I'm using gifs to show step by step instructions where I manually adjust the timing to stop on a single frame for a few seconds, so my workflow is essentially: 1. Merge duplicate frames. 2. Manually edit frame times as necessary. That works great, but if I want to add a progress bar that means it will stop every time there is a long frame which looks silly. So it would be cool if it had an option to split long frames into multiple shorter ones when adding a progress bar so that it can always be smooth.
Author
Owner

@vatterspun commented on GitHub (Dec 30, 2019):

Wow, great suggestion - I can NOT think how to address that. The only things I can think of (an these aren't great):

  • Don't modify any frames or timing and just convert to video (which could have an independent progress bar) and use a codec that does well ignoring duplicate frames.
  • Show frame speed dynamically (so when it goes down to 0 / FPS you know the animation isn't paused)
<!-- gh-comment-id:569769436 --> @vatterspun commented on GitHub (Dec 30, 2019): Wow, great suggestion - I can NOT think how to address that. The only things I can think of (an these aren't great): * Don't modify any frames or timing and just convert to video (which could have an independent progress bar) and use a codec that does well ignoring duplicate frames. * Show frame speed dynamically (so when it goes down to 0 / FPS you know the animation isn't paused)
Author
Owner

@SilentSin commented on GitHub (Dec 30, 2019):

Couldn't it just be the reverse of the Remove Duplicates operation as part of applying a progress bar? It can already be done by copying and pasting individual frames and overriding their times, it's just really tedious to do manually.

<!-- gh-comment-id:569822086 --> @SilentSin commented on GitHub (Dec 30, 2019): Couldn't it just be the reverse of the Remove Duplicates operation as part of applying a progress bar? It can already be done by copying and pasting individual frames and overriding their times, it's just really tedious to do manually.
Author
Owner

@vatterspun commented on GitHub (Jan 3, 2020):

reverse of Remove Duplciates

Yeah I guess so. I don't love that this expands the GIF file size but maybe that can't be helped...

Maybe the best thing to do is request a "duplicate" button that says that copies the current frame. It would have a numberic value that you can modify and that will be remembered when clicked in the future.

I can see value beyond just what you describe with pausing at a given screen. For example, if you wanted multiple image addendums for a given screen, like pointing out the various elements in a user interface.

<!-- gh-comment-id:570412309 --> @vatterspun commented on GitHub (Jan 3, 2020): > reverse of Remove Duplciates Yeah I guess so. I don't love that this expands the GIF file size but maybe that can't be helped... Maybe the best thing to do is request a "duplicate" button that says that copies the current frame. It would have a numberic value that you can modify and that will be remembered when clicked in the future. I can see value beyond just what you describe with pausing at a given screen. For example, if you wanted multiple image addendums for a given screen, like pointing out the various elements in a user interface.
Author
Owner

@NickeManarin commented on GitHub (Jan 7, 2020):

This could be implemented as an option for the Progress feature itself.
It would be required to the user to decide how smooth the playback should be.

The problem is that if the animation has a variable framerate, it will be impossible to have the same smoothness in all parts.

<!-- gh-comment-id:571627446 --> @NickeManarin commented on GitHub (Jan 7, 2020): This could be implemented as an option for the Progress feature itself. It would be required to the user to decide how smooth the playback should be. The problem is that if the animation has a variable framerate, it will be impossible to have the same smoothness in all parts.
Author
Owner

@vatterspun commented on GitHub (Jan 12, 2020):

impossible to have the same smoothness in all parts

Yeah it's a frustrating tradeoff. Maybe some rough animation is acceptable in some situations?

<!-- gh-comment-id:573461693 --> @vatterspun commented on GitHub (Jan 12, 2020): > impossible to have the same smoothness in all parts Yeah it's a frustrating tradeoff. Maybe some rough animation is acceptable in some situations?
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ScreenToGif#460
No description provided.