flutter / samples

A collection of Flutter examples and demos
https://flutter.github.io/samples/
Other
17.11k stars 7.5k forks source link

Veggieseasons sample drops frames while scrolling #297

Open kobutri opened 5 years ago

kobutri commented 5 years ago

I noticed that the veggieseasons sample app drops below 60fps while scrolling through the veggies on the home screen. I get an average of around 20ms/frame GPU time and max GPU time of around 30 ms/frame. So it only runs about 50fps, which seems like a small deviation but on a fixed refresh display it leads to micro stuttering.

Test Setup:

Flutter 1.7.4 release build. I turned on the performance overlay by adding to showPerformanceOverlay: true to the CupertinoApp widget. I testest both on a Galaxy S8 with Android 9.0 and a iPad 6th generation running iOS 12.3.1 Both had similar frame times.

I know that these are not fastest devices but it is just a simple list after all and I would expect scrolling to be smooth.

kobutri commented 5 years ago

I've done some more testing and it's probably obvious but, disabling the blur CupertinoSliverNavigationBar by selecting an opaque color solves the problem, but is not really what I want. I would assume that the blur functionality in Skia is already well optimized, but then again, it isn't a problem in native iOS apps.

ericmartineau commented 5 years ago

The scrolling was smooth in 1.5.x and has since regressed. https://github.com/flutter/flutter/issues/36064

As noted in the other issue, I've tested this with the veggieseasons app specifically

ericmartineau commented 5 years ago

Video with performance overlay of the two versions:

Screencast v.1.7.8+hotfix.4 (youtube) Screencast v.1.5.8 (youtube)

RedBrogdon commented 4 years ago

CC: @HansMuller

Clearly we needed our own issue tracker for the samples for a while now.

I don't have an iOS hardware device on me today, but I'll try to verify if this problem still exists with the current SDK early next week.