颤振动画在首次渲染时不流畅

时间:2018-12-14 06:50:08

标签: flutter

为什么即使在首次运行英雄动画时,屏幕导航上的buildTransition也永远无法流畅?

如何始终制作出完美的平滑动画?

亲切问候

2 个答案:

答案 0 :(得分:5)

这是flutter中的一个已知问题,您必须首先“预热”图形api(SkSL)。第三次运行后,通常会变得平滑。

该问题在iOS和Android上均会发生。

对于iSO,滞后通常发生在金属api中,因为苹果最近已经放弃了对OpenGL的支持,而OpenGL通常是在实施Skia图形引擎的地方进行的。

此页面上有解决方法和临时解决方案。

Extreme jank on iOS/Android the first time any kind of animation or transition runs (release build) - skia shader compilation #61450

更新

Flutter已更新了有关此问题的官方文档

Reduce shader compilation jank on mobile

答案 1 :(得分:3)

您需要使用--release--profile进行构建。如果您是从IDE运行的,则默认情况下将获得--debug构建,该构建不适合衡量任何性能指标或动画或构建输出大小。

flutter run --profile

https://flutter.io/docs/testing/ui-performance

中的更多详细信息