在 Flutter 中渲染大量简单形状的最有效方法

问题描述

我正在 Flutter 应用程序中实现粒子系统渲染器。

目前我使用的是 CustomPainter,它使用 canvas.drawRect() 将每个粒子渲染为一个矩形。但是我需要绘制数千个这样的矩形,并且虽然形状非常简单,但 Flutter 似乎很难处理它,因为性能从我目标的稳定 60 fps 下降了不到 30 fps。

由于我需要渲染的形状只是没有纹理的四边形,大小相同,只是颜色不同,我想知道使用自定义画家等多功能工具是否是此应用程序的正确选择。

我知道一点 OpenGL,我知道对于小网格(由少量顶点组成),例如矩形,最好将它们加载到单个缓冲区中并在一次调用中绘制它们,或者甚至更好将它们用作实例绘制它们,因为它们除了颜色之外都相同。

我尝试通过这个包 https://github.com/mogol/opengl_texture_widget_example 使用 OpenGL,因为它说它适用于 Android 和 iOS,但我无法让它工作,因为它是一个非常旧的包。

canvas.drawRect() 是在 Flutter 中绘制大量简单形状的最佳方法,还是在 Flutter 本身或使用第三方软件包中可以更快地完成此操作?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)