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] Data Table render performance #9946

Closed
rogeralsing opened this issue Dec 11, 2019 · 6 comments
Closed

[Bug Report] Data Table render performance #9946

rogeralsing opened this issue Dec 11, 2019 · 6 comments
Labels
C: VBtn VBtn T: bug Functionality that does not work as intended/expected
Milestone

Comments

@rogeralsing
Copy link

Environment

Vuetify Version: 2.1.14
Vue Version: 2.6.9
Browsers: Chrome 78.0.3904.108
OS: Mac OS 10.15.1

Steps to reproduce

Click the green button on the Code pen example.
This renders 100 items in the Vuetify Data Table.

Expected Behavior

100 items with buttons and icons is an artificial use case, but the long render time hints that something is not as expected.

I would expect 100 items to render within milliseconds.

Actual Behavior

Render time is within 0.5 - 1 seconds

Reproduction Link

https://codepen.io/rogeralsing/pen/MWYyVXz

@ghost ghost added the S: triage label Dec 11, 2019
@rogeralsing
Copy link
Author

Issue seems to be more related to Vuetify base components than the Data Grid itself.

Another codepen here https://codepen.io/rogeralsing/pen/GRgZzZz

This renders the same 100 rows with buttons, but in a simple div.
The performance issue is still there.

Same with other components such as the Vuetify text field.

Replacing the content with standard html buttons makes the render speed as fast as one would expect.

@KaelWD
Copy link
Member

KaelWD commented Jan 10, 2020

It just has way too many props, as well as checking if it's inside a v-btn-toggle. If fab, speed-dial, and toggle button were all split up it would be a lot faster.

@johnleider johnleider added C: VDataTable VDatatable C: VBtn VBtn and removed C: VDataTable VDatatable labels Jan 10, 2020
@johnleider johnleider assigned johnleider and unassigned nekosaur Jan 10, 2020
@johnleider johnleider added T: bug Functionality that does not work as intended/expected and removed S: triage labels Jan 16, 2020
@johnleider johnleider added this to the v3.0.0 milestone Jan 19, 2020
@saeedtabrizi
Copy link

Is there any update or workaround ? i have same issue unfortunately .

@saeedtabrizi
Copy link

Hi @johnleider , i guess this bug related to vuejs/vue#9371 issue .

@KaelWD
Copy link
Member

KaelWD commented Feb 18, 2021

This is about 50% faster now in v3. It still takes around a second with 4x cpu slowdown so if you're targeting mobile devices you should try to avoid rendering thousands of components at once, consider using a recycler list instead.

@devonik
Copy link

devonik commented Dec 19, 2022

@KaelWD What do you mean with recycler list? Something like https://vuetifyjs.com/en/components/virtual-scroller/ ? With this component we would have to build pagination and other things needed from data-table isn't it?

I'm looking forward to the new v3 data-table 😃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: VBtn VBtn T: bug Functionality that does not work as intended/expected
Projects
None yet
Development

No branches or pull requests

6 participants