ListView: Poor performance with many variable-extent items + jumpTo (scroll bar, trackpad, mouse wheels)
Related: https://github.com/flutter/flutter/issues/153085 --- Update September 2023: * New SliverVariedExtentList, ListView.extentBuilder for dynamic child sizing on demand * https://github.com/flutter/flutter/pull/131393 * New caching proposal, follow for updates: * https://github.com/flutter/flutter/pull/134864 --- **_Update from July 2023:_** https://github.com/flutter/flutter/issues/52207#issuecomment-1648672384 --- **_Update from September 2021:_** After much discussion, this https://github.com/flutter/flutter/issues/52207#issuecomment-782708343 suggestion emerged as a pretty good proposal. Basically, SliverList could short-circuit actually instantiating and laying out children if, once built, they are discovered to implement the PreferredHeight protocol. The next step is to implement this. -@Hixie ---- [√] Flutter (Channel master, v1.15.4-pre.241, on Microsoft Windows [Version 10.0.18362.657], locale en-US) Here is an example (~80 lines) of a 10,000 item ListView, which attempts to uses a simple scrollbar to drive scroll position: https://gist.github.com/esDotDev/792425c2cdfef947ce514b8ab70511e6 The performance is very poor on all platforms, Desktop, Web, Android, even when using profile mode on Android. iOS has not been tested. I'm seeing frame render times up to 1300ms on Windows 10, with a Ryzen 3700x. Android, in profile mode, with a Snapdragon 845, has similar results. Visually, you can easily produce a 2-3 second lag by just scrolling up and down a
Posted by esDotDev on Mar 8, 2020, 6:30 PM
Tags
Related issues
- [BUG] Cowork (Windows): all Plan9 shares fail with "Plan9 mount failed: invalid argument" after Windows update KB5124008 (26200.9445) — uninstalling the KB fixe
- Feature Request: Auto-resume CLI session when usage limit resets
- Please deobfuscate the Python
- [Bug] MLX version of Gemma 4 26B fails to load: "Model type gemma4 not supported" (macOS)
- # 233 Developers Discussed Abandoning the Office Add-in Platform — An Open Letter on the Office.js Stability, Security & Trust Crisis
- [FEATURE] Allow users to configure which shell the Bash tool uses or inherit initial shell
Raise real-world problems, find people facing the same issue, and discuss solutions.3,500 issues0 comments
reliability (Software)
[BUG] Cowork (Windows): all Plan9 shares fail with "Plan9 mount failed: invalid argument" after Windows update KB5124008 (26200.9445) — uninstalling the KB fixe
Feature Request: Auto-resume CLI session when usage limit resets
Please deobfuscate the Python
[Bug] MLX version of Gemma 4 26B fails to load: "Model type gemma4 not supported" (macOS)
# 233 Developers Discussed Abandoning the Office Add-in Platform — An Open Letter on the Office.js Stability, Security & Trust Crisis
[FEATURE] Allow users to configure which shell the Bash tool uses or inherit initial shell
Admin Materials and Surfaces
AMD Support
ListView: Poor performance with many variable-extent items + jumpTo (scroll bar, trackpad, mouse wheels)
Related: https://github.com/flutter/flutter/issues/153085 --- Update September 2023: * New SliverVariedExtentList, ListView.extentBuilder for dynamic child sizing on demand * https://github.com/flutter/flutter/pull/131393 * New caching proposal, follow for updates: * https://github.com/flutter/flutter/pull/134864 --- **_Update from July 2023:_** https://github.com/flutter/flutter/issues/52207#issuecomment-1648672384 --- **_Update from September 2021:_** After much discussion, this https://github.com/flutter/flutter/issues/52207#issuecomment-782708343 suggestion emerged as a pretty good proposal. Basically, SliverList could short-circuit actually instantiating and laying out children if, once built, they are discovered to implement the PreferredHeight protocol. The next step is to implement this. -@Hixie ---- [√] Flutter (Channel master, v1.15.4-pre.241, on Microsoft Windows [Version 10.0.18362.657], locale en-US) Here is an example (~80 lines) of a 10,000 item ListView, which attempts to uses a simple scrollbar to drive scroll position: https://gist.github.com/esDotDev/792425c2cdfef947ce514b8ab70511e6 The performance is very poor on all platforms, Desktop, Web, Android, even when using profile mode on Android. iOS has not been tested. I'm seeing frame render times up to 1300ms on Windows 10, with a Ryzen 3700x. Android, in profile mode, with a Snapdragon 845, has similar results. Visually, you can easily produce a 2-3 second lag by just scrolling up and down a
Comments (0)
No comments yet. Start the discussion.