IssueRaiser

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

Raise real-world problems, find people facing the same issue, and discuss solutions.3,500 issues0 comments

reliability (Software)

ListView: Poor performance with many variable-extent items + jumpTo (scroll bar, trackpad, mouse wheels)

esDotDevMar 8, 2020, 6:30 PM

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.

Comment on this issue