Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add option to "Delay capture" in capture UI #299

Open
JannikGM opened this issue Jan 12, 2024 · 2 comments
Open

Add option to "Delay capture" in capture UI #299

JannikGM opened this issue Jan 12, 2024 · 2 comments

Comments

@JannikGM
Copy link
Contributor

JannikGM commented Jan 12, 2024

I think the problem in #293 (comment) could be solved by adding a delay.

If the UI allowed to "Capture in 5.0 seconds" then the user has a chance to click the capture button in the UI, switch to the canvas and then interact with it so it actually redraws the interesting portion when the capture happens.

A similar feature often exists in screenshot tools (as it does in physical cameras); often paired with a visible countdown so the user knows when the capture will happen.

It might also be useful to specify the delay in frames instead. This could also come handy with the "Capture on reload" option.

@JannikGM JannikGM changed the title Delay capture Add option to "Delay capture" in capture UI Jan 12, 2024
@donmccurdy
Copy link

Thanks! The workaround in #293 (comment) is helping me, although it is a bit finicky and I'm curious if something like your proposal here could make this easier. The workflows I currently have in mind are ones were I can trigger the important draws to happen interactively, but not with precise timing. For example: zooming the map in/out causes certain map layers to refresh, and they are not drawn again until another map zoom or pan event. But the scroll wheel is imprecise, and I don't know exactly which frame will trigger the update, so it'd be necessary to capture maybe 500-1000ms of data to get the events of interest.

@JannikGM
Copy link
Contributor Author

it'd be necessary to capture maybe 500-1000ms of data to get the events of interest.

You can already use the option in the bottom of the UI:

500 first commands (✅ transient):

The transient option will disregard frame start/end (so you can capture multiple frames if you know approximately how many calls per frame will be done).

The "first commands"-option is a bit problematic because it doesn't give you feedback if it already started capturing (the UI doesn't disappear when clicking the capture button) and when it will stop capturing (there's no info how many commands are left); there's also no way to manually stop capturing so you might have to reload the page to get out of a capture session.

The main issue is that capturing starts immediately (or on page reload).
Once capturing starts, the site can get considerably slower which also makes it difficult to do the events which trigger rendering of the parts of interest.

You also have to deal with lots of data then and the UI is not able to show where the frame transitions were.

Delaying the capture would be the first step.
Other good features would probably be:

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

No branches or pull requests

2 participants