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
Comments (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
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Out-of-bounds memory access with multiple CanvasRenderers under a Canvas when using Mesh API
- Inspector tries to access file after it was deleted when the file was locked in Inspector window
- Changing Transform values in Search window Inspector loses focus while dragging and stopping mouse without releasing dragging action
- Saving changes on the dirty VFX Graph during the Play mode throws "The referenced script (Unknown) on this Behaviour is missing!" warnings
- VFX Graph Debug Info overlaps the "Initialize" block debug info by default
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.