我试图找到绘图,可用于高性能应用程序的数据(主要是线图和等)的工具。我的数据窗口通常包含500到几千个点,我很高兴10个左右的帧率。我在套接字上以二进制流的形式接收我的数据。我在Mac OS X高性能的实时数据显示
我已经尝试了几种解决方案,并在下面我跟他们讨论我的经验。
R:极其缓慢,无法跟上,痛苦地阅读套接字,图形闪烁。
matplotlib:很慢,但也有点可用。然而,它需要大量的Python机器才能运行,而IMO的API非常不透明。在不断更新的情况下,包含该图形的窗口变为模态,并显示Mac海滩球 - 对用户交互来说不是很好。
的Gnuplot:更好的性能和API。但是,向gnuplot传送大量数据是通过生成临时ASCII(!)文件发生的 - 这意味着如果帧速率上升,我开始执行大量磁盘读取操作,这是性能问题。
其他建议?使用管道的数据,而不是临时文件
您的问题似乎与我的相似:http://stackoverflow.com/questions/8946474/is-it-possible-to-speed-up-matlab-plotting-by-calling-cc-code-in-matlab – memyself 2012-02-06 17:04:58
我不确定是否可以在C++或其他语言之外执行此操作,但是通过将内容位图绘制到屏幕上,可以防止闪烁。这实际上更快,因为它不会在绘制过程中剪切为重叠的矩形。而且,即使不是,用户看起来也很快。 – 2012-02-06 17:35:14
@MikeDunlavey谢谢 - 但您使用什么技术来绘图和绘画。 – Jake 2012-02-06 20:03:26