dart - 如何执行昂贵的渲染

标签 dart flutter

在许多情况下,渲染需要大量的计算能力。因此,可能会发生跳过帧的情况,因为 UI 需要等待渲染完成。

我想知道如何实现异步渲染或绘画,即隔离。

类似 compute 的函数不是一个选项,因为 SendPort仅适用于原始类型,绘画需要 PaintingContextCanvas .

有些 Flutter 插件需要大量渲染。因此,我认为我可以在 video_player 中找到答案。插件,但它使用 Texture ,即不在 Dart 中呈现

我想知道是否有任何关于此的习语或示例实现。

你想知道我是如何实现渲染的,你可以看看FlareActor .事实证明,他们和我一样处理绘画。现在我想知道为什么我会遇到瓶颈而 Flare 不会。有优化绘画的指南吗?

最佳答案

我通过将所有需要的像素写入 BMP 文件格式然后使用 Canvas.drawImage 来解决这个问题,因为 Flutter canvas 无法处理许多 Canvas操作:https://stackoverflow.com/a/55855735/6509751

关于dart - 如何执行昂贵的渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54736356/

相关文章:

android - 在 flutter 中使用 path_provider 包时出错

Dart - 强制显式类型的 Linting 选项

firebase - 无法在两者的最新版本上使用 firebase 编译 flutter 应用程序

flutter - 如何创建自定义异常并在 dart 中处理它

flutter - 如何从异步功能使用Future?

flutter - 错误: The argument type 'Null Function(DateTime, List<dynamic>)' can't be assigned to the parameter

dart - 转换的纪元时间比模拟器提前 5 小时

heap - Dart HttpServer 耗尽堆空间

flutter - 我如何显示第一张图像,这是 flutter 网络图像中的一个数组

flutter - 如何知道小部件在视口(viewport)中是否可见?