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

Only render events for streams that are visible in the time panel #8662

Closed
abey79 opened this issue Jan 13, 2025 · 4 comments
Closed

Only render events for streams that are visible in the time panel #8662

abey79 opened this issue Jan 13, 2025 · 4 comments
Assignees
Labels
🚀 performance Optimization, memory use, etc ui concerns graphical user interface

Comments

@abey79
Copy link
Member

abey79 commented Jan 13, 2025

Querying and rendering the event view for streams in the time panel is, despite recent chunkification, quite slow. This is made worse by the "expand all" behaviour of the filter feature (#8654).

A likely optimisation is:

  • to avoid rendering evens for everything that is above the visible part of the scroll area
  • early out as soon as we're bellow the visible part of the scroll area
@abey79 abey79 added the ui concerns graphical user interface label Jan 13, 2025
@abey79 abey79 added this to the 0.22 - ? milestone Jan 13, 2025
@abey79 abey79 self-assigned this Jan 13, 2025
@emilk emilk added the 🚀 performance Optimization, memory use, etc label Jan 21, 2025
@abey79 abey79 changed the title Do not attempt to render events for streams that are not scrolled out of screen Only render events for streams that are visible in the time panel Jan 21, 2025
@abey79
Copy link
Member Author

abey79 commented Jan 21, 2025

Maybe something I can sneak in when I do the refactor this cycle.

@emilk
Copy link
Member

emilk commented Jan 21, 2025

Is this a performance drain when there are many entities? What is the slow part of it? Do you have a profiler screenshot? Has it become worse since 0.21?

@abey79
Copy link
Member Author

abey79 commented Jan 21, 2025

The time panel is definitely a time hog when everything is uncollapsed. However, contrary to what I initially thought, we already skip drawing the event when not in the visible area.

The "early-out-when-bottom-is reached" optimisation sound a bit stupid (things would get worse upon scrolling the list), it does make sense in the context of filter. Indeed, early during typing the query, everything that matches (which can be a lot) is shown uncollapsed. Early exiting would allow keeping the frame time reasonable during the early moment of the user typing the query.

Collapse all

Image

Expand all

Image

Expand all profile

Image

@abey79
Copy link
Member Author

abey79 commented Jan 24, 2025

This issue is related and likely relevant:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🚀 performance Optimization, memory use, etc ui concerns graphical user interface
Projects
None yet
Development

No branches or pull requests

2 participants