Search Issue Tracker
By Design
By Design in 2023.2.X
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
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
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.
Resolution Note (2023.2.X):
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.