Skip to content

Ballistic simulations may be created too frequently #11599

@xster

Description

@xster

Make a normal fling gesture.
~50% of the time, many goBallistic calls are triggered when I would have expected just one.

In this example, it took 78ms cumulative recreating the simulations and causes frame drops.
cw5hukq7xsp

Call stack

#0      ScrollPositionWithSingleContext.goBallistic (package:flutter/src/widgets/scroll_position_with_single_context.dart:150:16)
#1      BallisticScrollActivity.applyNewDimensions (package:flutter/src/widgets/scroll_activity.dart:399:14)
#2      ScrollPosition.applyNewDimensions (package:flutter/src/widgets/scroll_position.dart:441:14)
#3      ScrollPositionWithSingleContext.applyNewDimensions (package:flutter/src/widgets/scroll_position_with_single_context.dart:110:29)
#4      ScrollPosition.applyContentDimensions (package:flutter/src/widgets/scroll_position.dart:411:7)
#5      RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:827:20)
#6      RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1767:7)
#7      PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1056:18)
#8      BindingBase&SchedulerBinding&GestureBinding&ServicesBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:251:19)
#9      BindingBase&SchedulerBinding&GestureBinding&ServicesBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:504:22)
#10     BindingBase&SchedulerBinding&GestureBinding&ServicesBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:189:5)
#11     BindingBase&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:695:15)
#12     BindingBase&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:643:9)
#13     _invoke (file:///Users/xster/development/flutter/bin/cache/pkg/sky_engine/lib/ui/hooks.dart:86)
#14     _drawFrame (file:///Users/xster/development/flutter/bin/cache/pkg/sky_engine/lib/ui/hooks.dart:75)

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listc: performanceRelates to speed or footprint issues (see "perf:" labels)f: scrollingViewports, list views, slivers, etc.frameworkflutter/packages/flutter repository. See also f: labels.team-frameworkOwned by Framework teamtriaged-frameworkTriaged by Framework team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions