使用JAR或OpenGL绘制android Graph更好吗



我正试图绘制一个具有近2000个点的实时图,一次绘制一个点。这在JAR(achartengine,android plot)和OPENGL中都能很好地工作,但图形绘制非常缓慢。请提出提高绘图速度的技巧。

解决您想要使用的平台

这个速度问题可能会影响双方。

库(您称之为jar)方法最初绘制速度会更快,因为我认为它们是在画布上绘制的。我们使用这种方法在我们的应用程序上绘制一些复杂的图表。这种方法简单明了。图表大多是静态的,具有一些交互功能。

OpenGL方法最初渲染需要更长的时间,因为它需要首先加载GLView并启动OpenGL,然后才能绘制图表,这有时会很耗时,但一旦加载,执行绘制操作和花哨功能的速度将比jar方法快得多。

归根结底,这取决于你想做什么。如果你只想绘制图表并用最新数据更新它,我不会使用OpenGL,但如果你想添加很酷的缩放功能和平移等,你绝对可以使用OpenGL来执行这些操作。

您受到库的限制

关于库的问题是,你只能改进实现它们的方式,例如,检查不必要的for循环,确保你没有在图表上调用任何不必要的方法等等。(如果不显示一些代码,就无法真正帮助您改进)

我们不准备依赖一段只会定期更新的源代码,因为这可能会导致错误在您的系统中停留很长时间。所以我们编写了自己的图表类。这真的很简单,如果你的图表只是用来绘制x轴和y轴上的最新点,那么这是一种更好的、轻量级的方法,你可以完全控制它。当然,这比使用现有的库要多得多,但最终你可以控制它。

希望这能给你一些关于的想法

"slow"是什么意思?帧速率低?你想达到哪个比率?

如果你真的想要更高的渲染速度,你只有一个严肃的选择:在OpenGL中编程。

最新更新