Search Issue Tracker

By Design

Votes

0

Found in

2022.2.12f1

2023.1.0b9

2023.2.0a7

Issue ID

UUM-30553

Regression

Yes

Dynamic ListView binds all items when flex-grow is set to 0

-

Reproduction steps:
1. Open the attached “IN-35342_FlexGrow.zip” project
2. Open “SampleScene”
3. In Game view, make sure that the resolution is set to Full HD
4. Enter Play mode and observe the Console

Expected result: bindItem is called only for the visible items in the ListView
Actual result: bindItem is called for all 22 items in the ListView

Reproducible with: 2022.2.3f1, 2022.2.12f1, 2023.1.0b9, 2023.2.0a7
Not reproducible with: 2021.3.21f1, 2022.2.2.f1
Could not test with: 2020.3.46f1 (due to error CS0246)

Reproducible on: Windows 10

Note: Reproduced in Editor, WebGL and Windows builds

  1. Resolution Note:

    We now use the item height attribute to calculate a minimum amount of items to help stabilize the virtualization. In the project provided, it would be good to set `fixedItemHeight` to 30 (which is the minimum height of the items according to the makeItem callback implementation) to potentially reduce the number of items spawned, because the default is smaller than that. But it is expected that enough items of that minimum height are bound to fill the viewport when using DynamicHeight virtualization, they will then be recycled as users scroll.

Comments (1)

  1. ChGuidi

    Mar 20, 2023 15:27

    Hi,

    Thanks for the information. I now indeed see that the docs were updated accordingly. However this name is quite confusing as it seems to refer to the Fixed virtualization method. I think it would be a good idea to rename this attribute to avoid confusion.

    It would also make sense to take account of the minimum height of the content if this fixedItemHeight is not set.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.