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

[Bug Report][3.3.19] Performance issue when using v-tooltip component #18372

Closed
MaxenceMouchard opened this issue Sep 29, 2023 · 3 comments
Closed
Assignees
Labels
C: VOverlay VOverlay performance The issue involves performance T: enhancement Functionality that enhances existing features
Milestone

Comments

@MaxenceMouchard
Copy link

MaxenceMouchard commented Sep 29, 2023

Environment

Vuetify Version: 3.3.19
Vue Version: 3.3.4
Browsers: Chrome 117.0.0.0
OS: Windows 10

Steps to reproduce

Put a hundred tooltips in a component and realize that refresh takes considerably more times.
this is not the case with others components like v-btn for example.

Expected Behavior

Should load instantly

Actual Behavior

May take a few seconds to load

Reproduction Link

https://play.vuetifyjs.com/#...

Other comments

I don't expect loading a tooltips component to take much longer than loading any other component. Maybe that makes sense to you and you can explain. I apologize in advance for the inconvenience if this is the case.

In my use case:
I load a large data tree, in which I have several action buttons on each item, and then tooltips for each button.
Without tooltips, my tree loads instantly, but with tooltips it takes over 5 seconds to display.

@moh-incom
Copy link

I am having a similar problem and would like a fix/some clarification

@KaelWD KaelWD added the performance The issue involves performance label Dec 2, 2023
@KaelWD KaelWD self-assigned this Dec 2, 2023
@KaelWD KaelWD added this to the v3.4.x milestone Dec 2, 2023
@KaelWD KaelWD added T: enhancement Functionality that enhances existing features C: VOverlay VOverlay labels Dec 2, 2023
@github-actions github-actions bot removed the S: triage label Dec 2, 2023
@KaelWD
Copy link
Member

KaelWD commented Dec 2, 2023

You have 1000 items not 100. On my phone the initial render takes 3.5s:

Everything else is just a consequence of rendering so many complex components at once, you should use https://vuetifyjs.com/en/components/virtual-scroller/ to only render what is actually visible on the screen.

I don't expect loading a tooltips component to take much longer than loading any other component

One tooltip actually results in 7 components being created.

@KaelWD KaelWD closed this as completed in ca2174c Dec 2, 2023
@MaxenceMouchard
Copy link
Author

MaxenceMouchard commented Dec 4, 2023

Yes, 1000 or 100 is not the relevant information here.

Thank you for this fine details and thank you for your time on the subject.
Thank you, for highlighting virtual scroller here, I didn't know about it.

Unfortunately it doesn't work in my case because it's not a flat list that I'm displaying, but nodes and I don't scroll in my nodes but in the tree menu as a whole.
I finally added a collapse effect with a v-if isOpen on each node, so my problem's solved.
Nevertheless, your commit on performances are appreciated.

Thanks again :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: VOverlay VOverlay performance The issue involves performance T: enhancement Functionality that enhances existing features
Projects
None yet
Development

No branches or pull requests

3 participants