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

[DataGrid] Fix white blank when scrolling #4158

Merged
merged 1 commit into from
Mar 11, 2022

Conversation

alexfauquette
Copy link
Member

Fix #3436

The problem is the following: To know when the rendered context must be updated, it relies on the top-left cell. If the index of the cell has changed by more than rowThreshold or columnThreshold, the renderContext is updated, which will rerender visible rows/cells and their buffer
This would work if columns/rows have the same size, which is not the case. Here is an example of scrolling on the right.

In purple you have the initial render context and in blue the buffer. From top to bottom we scrolled enough, such that

  • the visible left cell changed from 3 to 4 (a gap of 1)
  • the visible right cell changed from 5 to 8 (a gap of 3)

To be sure that visible columns are always rendered, we need to increase verify on the left and the right (same thing for the top/bottom)

image

@alexfauquette alexfauquette changed the title [DataGrid] fix white blank when scrolling [DataGrid] Fix white blank when scrolling Mar 11, 2022
@mui-bot
Copy link

mui-bot commented Mar 11, 2022

These are the results for the performance tests:

Test case Unit Min Max Median Mean σ
Filter 100k rows ms 252 529.3 422.9 387.3 104.206
Sort 100k rows ms 515.2 975.3 825.3 797.86 157.627
Select 100k rows ms 128.9 206.5 199.2 179.38 30.542
Deselect 100k rows ms 107.6 278.8 193.3 186.42 56.775

Generated by 🚫 dangerJS against 9a698a8

Copy link
Member

@m4theushw m4theushw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great illustration. It seems to solve the problem. 👍

@alexfauquette alexfauquette merged commit 3d85cc0 into mui:master Mar 11, 2022
@alexfauquette alexfauquette deleted the fix-white-spaces branch March 11, 2022 14:03
m4theushw added a commit to m4theushw/mui-x that referenced this pull request Mar 12, 2022
commit 4dacc49
Author: Matheus Wichman <matheushw@outlook.com>
Date:   Fri Mar 11 17:01:25 2022 -0300

    yarn docs:api

commit 7ca90ca
Author: Matheus Wichman <matheushw@outlook.com>
Date:   Fri Mar 11 16:34:31 2022 -0300

    Make reason optional

commit 835c66d
Author: Matheus Wichman <matheushw@outlook.com>
Date:   Fri Mar 11 16:24:26 2022 -0300

    Remove originalRow

commit ee0b648
Author: Matheus Wichman <matheushw@outlook.com>
Date:   Fri Mar 11 16:09:29 2022 -0300

    cellToMoveFocus -> cellToFocusAfter

commit 17f3bab
Author: Matheus Wichman <matheushw@outlook.com>
Date:   Fri Mar 11 16:07:20 2022 -0300

    Fix export bug with CSB

commit d3167e0
Author: Matheus Wichman <matheushw@outlook.com>
Date:   Fri Mar 11 16:07:02 2022 -0300

    Type value with any as default

commit 1b398f6
Merge: 3540d57 949b40a
Author: Matheus Wichman <matheushw@outlook.com>
Date:   Fri Mar 11 15:55:01 2022 -0300

    Merge branch 'master' into new-editing-api

commit 949b40a
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Fri Mar 11 13:57:16 2022 -0300

    Bump actions/checkout action to v3 (mui#4107)

    Co-authored-by: Renovate Bot <bot@renovateapp.com>

commit 50f084d
Author: Andrew Cherniavskii <andrew@mui.com>
Date:   Fri Mar 11 15:53:18 2022 +0100

    [DataGrid] Fix error overlay not visible when `autoHeight` is enabled (mui#4110)

commit 3d85cc0
Author: Alexandre Fauquette <45398769+alexfauquette@users.noreply.github.com>
Date:   Fri Mar 11 15:03:20 2022 +0100

    [DataGrid] Fix white blank when scrolling (mui#4158)

commit 19fbfa5
Author: PBM <pbmalecki@wp.pl>
Date:   Fri Mar 11 11:47:42 2022 +0100

    [l10n] add missing plPL translations (mui#4153)

commit 8b2cd47
Author: Alexandre Fauquette <45398769+alexfauquette@users.noreply.github.com>
Date:   Fri Mar 11 10:10:12 2022 +0100

    [docs] Clean ValidateRowModelControlGrid demo (mui#4073)

commit 9e2c4b4
Author: Matheus Wichman <matheushw@outlook.com>
Date:   Thu Mar 10 21:35:46 2022 -0300

    [test] Mock `getComputedStyle` to speed up unit tests (mui#4142)

commit 1922f48
Author: Matheus Wichman <matheushw@outlook.com>
Date:   Thu Mar 10 14:35:09 2022 -0300

    [test] Upgrade CircleCI convenience image (mui#4143)

commit f04331c
Author: Flavien DELANGLE <flaviendelangle@gmail.com>
Date:   Thu Mar 10 17:38:18 2022 +0100

    v5.6.1 (mui#4141)

commit 3a507bf
Author: Andrew Cherniavskii <andrew@mui.com>
Date:   Thu Mar 10 16:05:29 2022 +0100

    [core] Upgrade `@mui/monorepo` (mui#4149)

commit 37766c8
Author: Matheus Wichman <matheushw@outlook.com>
Date:   Thu Mar 10 11:29:32 2022 -0300

    [DataGrid] Rename API method (mui#4148)

commit 1ac64ba
Author: Matheus Wichman <matheushw@outlook.com>
Date:   Wed Mar 9 15:12:56 2022 -0300

    [DataGrid] Add support for margin between rows (mui#3848)

commit 5551732
Author: Matheus Wichman <matheushw@outlook.com>
Date:   Wed Mar 9 09:38:18 2022 -0300

    [test] Make focus state out-of-sync warning opt-in (mui#4129)

commit 318f6cc
Author: Flavien DELANGLE <flaviendelangle@gmail.com>
Date:   Wed Mar 9 13:20:16 2022 +0100

    [DataGridPro] Re-export the components removed by mistake during bundle split (mui#4134)

commit c886092
Author: Flavien DELANGLE <flaviendelangle@gmail.com>
Date:   Wed Mar 9 13:19:52 2022 +0100

    [core] Prepare the api build scripts for multi packages support (mui#4111)

commit d7daee6
Author: Danail Hadjiatanasov <hadjiatanasov@gmail.com>
Date:   Wed Mar 9 11:49:38 2022 +0100

    [DataGrid] Display column's filter icon if a filter is applied (mui#4120)

commit 5e55a35
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Wed Mar 9 11:41:50 2022 +0100

    Bump MUI Core (mui#4095)

    Co-authored-by: Renovate Bot <bot@renovateapp.com>

commit b8ed7a0
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Wed Mar 9 11:41:43 2022 +0100

    Bump css-loader to ^6.7.1 (mui#4102)

    Co-authored-by: Renovate Bot <bot@renovateapp.com>

commit 3b34495
Author: Siriwat K <siriwatkunaporn@gmail.com>
Date:   Wed Mar 9 17:25:50 2022 +0700

    [docs] Fix links to prevent duplicate search result (mui#4130)

commit c80a645
Author: Andrew Cherniavskii <andrew@mui.com>
Date:   Wed Mar 9 10:50:15 2022 +0100

    [DataGrid] Fix extending built-in column types (mui#4114)

    Co-authored-by: Matheus Wichman <matheushw@outlook.com>

commit deb6615
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Tue Mar 8 19:33:17 2022 -0300

    Bump typescript to ^4.6.2 (mui#4104)

    Co-authored-by: Renovate Bot <bot@renovateapp.com>

commit 1e8de15
Author: Matheus Wichman <matheushw@outlook.com>
Date:   Tue Mar 8 11:12:20 2022 -0300

    [core] Initialize remaining states before feature hooks (mui#4036)

commit fb4fc20
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Tue Mar 8 13:30:33 2022 +0100

    Bump cpy-cli to ^4.0.0 (mui#4108)

    Co-authored-by: Renovate Bot <bot@renovateapp.com>

commit b0250ee
Author: Siriwat K <siriwatkunaporn@gmail.com>
Date:   Tue Mar 8 18:50:12 2022 +0700

    [docs] Use regex instead of specific url in e2e-website-tests (mui#4121)

commit ff35a77
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Tue Mar 8 11:21:30 2022 +0100

    Bump react-router-dom to ^6.2.2 (mui#4100)

    Co-authored-by: Renovate Bot <bot@renovateapp.com>

commit 97e51fc
Author: Siriwat K <siriwatkunaporn@gmail.com>
Date:   Tue Mar 8 16:01:58 2022 +0700

    [docs] Neglect e2e tests related to search (mui#4118)

commit abd9bcf
Author: Olivier Tassinari <olivier.tassinari@gmail.com>
Date:   Mon Mar 7 19:56:46 2022 +0100

    [core] Make is clearer this is only for questions (mui#4082)

commit 2d1c394
Author: Vishal <32702012+patilvishal755@users.noreply.github.com>
Date:   Mon Mar 7 21:35:09 2022 +0530

    [docs] Fix outdated links to localeTextConstants.ts (mui#4080)

    Co-authored-by: Olivier Tassinari <olivier.tassinari@gmail.com>

commit 0be075d
Author: Flavien DELANGLE <flaviendelangle@gmail.com>
Date:   Mon Mar 7 15:23:24 2022 +0100

    [DataGrid] Do not loop through rows to compute top level rows count wen the tree is flat (mui#4081)
@oliviertassinari oliviertassinari added the component: data grid This is the name of the generic UI component, not the React module! label Jan 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: data grid This is the name of the generic UI component, not the React module!
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[DataGrid] Blank space when scrolling horizontally
4 participants