【发布时间】:2019-02-17 18:30:30
【问题描述】:
在许多情况下,渲染需要大量的计算能力。因此,由于 UI 需要等待渲染完成,因此可能会跳过帧。
我想知道如何实现渲染或绘制异步,即隔离。
compute 之类的函数不是一个选项,因为SendPort 仅适用于原始类型,并且绘画需要@987654323@ 或Canvas。
有些 Flutter 插件需要大量渲染。因此,我认为我可以在 video_player 插件中找到答案,但它使用了 Texture,即不会在 Dart 中呈现 。
我想知道这方面是否有任何成语或示例实现。
你想知道我是如何实现渲染的,你可以看看FlareActor。事实证明,他们处理绘画的方式和我一模一样。现在我想知道为什么我遇到瓶颈而 Flare 没有。有没有优化绘画的指南?
【问题讨论】:
-
这是个好问题,我也想知道。现在我优化如下。 1)限制不要重叠需要重画的画布。 2)不要使用具有多帧图像的动画......我猜颤动无法优化预加载多帧和计算重叠画布,尤其是图像。我将阅读 FlareActor 的代码!谢谢你的好信息!
-
好问题,但范围很广。你能定义什么是“昂贵的渲染”吗?因为优化肯定取决于你做什么。一个例子:stackoverflow.com/questions/46702376/…
-
您可以将慢速渲染对象拆分为多个。并部分重绘它们