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

Consider to draw the video annotation timeline as a canvas #417

Open
mzur opened this issue Jan 28, 2022 · 3 comments
Open

Consider to draw the video annotation timeline as a canvas #417

mzur opened this issue Jan 28, 2022 · 3 comments

Comments

@mzur
Copy link
Member

mzur commented Jan 28, 2022

If the video annotation timeline contains some thousand annotation elements, it becomes rather slow to interact with (especially zooming and panning). Consider to implement the timeline as one single canvas element. Maybe this would simplify the complicated scrolling behavior of the fixed label names at the left and video time at the top, too.

@mzur mzur added the discuss label Jan 28, 2022
@mzur
Copy link
Member Author

mzur commented Mar 22, 2022

This will likely improve the video playback performance, too! I found that the update of the video current time and the current time indicator (red line) makes the video stutter in Firefox. This becomes worse when many video annotation elements are shown in the timeline. I can imagine that this could be much faster with a single canvas element.

@mzur mzur added student and removed discuss labels Mar 22, 2022
@mzur
Copy link
Member Author

mzur commented Mar 22, 2022

As a first step, only the current time element and current time indicator could be drawn using a canvas. This should improve rendering performance already but requires a fair amount of tweaking for the styles (e.g. reading styles from the element any applying them to the canvas). A proof of concept can be found in the video-perf branch ( #435 ).

@mzur
Copy link
Member Author

mzur commented Oct 27, 2022

Now we use ECharts we could use ZRender for the video timeline, so we don't pull in another 2D canvas library.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Medium Priority
Development

No branches or pull requests

1 participant