-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
Labels
c: performanceRelates to speed or footprint issues (see "perf:" labels)Relates to speed or footprint issues (see "perf:" labels)f: cupertinoflutter/packages/flutter/cupertino repositoryflutter/packages/flutter/cupertino repositoryframeworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.
Description
Currently the cupertino picker will wrap built items in opacity as they scroll offscreen. When applied to text, this can be quite inefficient as we need to create additional offscreen surfaces to perform the opacity op. While the engine (both Skia and Impeller) does have a form of opacity optimization, its generally hard to apply to text.
Instead, I believe the cupertino picker's item builder callback should expose the current opacity. This would allow the caller to determine if they wanted to apply an opacity saveLayer or to directly apply the opacity to the paint color of the items. For text this would usually be correct and lead to substantially better performance.
Metadata
Metadata
Assignees
Labels
c: performanceRelates to speed or footprint issues (see "perf:" labels)Relates to speed or footprint issues (see "perf:" labels)f: cupertinoflutter/packages/flutter/cupertino repositoryflutter/packages/flutter/cupertino repositoryframeworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.