FIFO缓冲区中的高性能条形图

时间:2012-07-02 14:58:30

标签: java performance swing bufferedimage

我有问题如何创建一个高性能的摇摆组件。

该组件应绘制某种条形图。组件的数据存储在separte FIFO缓冲器类中。每次更新缓冲区时,都会通知组件。

每当数据发生变化时,组件就会绘制一个BufferedImage。然后条形图组件的paintComponent方法绘制创建的BufferedImage。

由于我的应用程序中存在大量数据更改,我正在考虑改进BufferedImage的绘制。大多数条形图保持不变。它只是向右移动,最新的数据更改被添加到条形图的左侧。

此时,整个BufferedImage将从存储在缓冲区中的数据中重新创建。我能想到的是使用AffineTransformation移动旧的BufferedImage并仅添加最近添加的数据。这将极大地减少BufferedImage上的绘图操作量。

但我不知道这是否会加速申请。 BufferedImage上的AffineTransformation有多贵?

欢迎任何评论。还有一些提示如何创建一个高性能的swing应用程序。

提前致谢

1 个答案:

答案 0 :(得分:1)

如果没有某种基线,很难衡量改进。首先,您可以使用here比较显示JFreeChart的两种方法。 DynamicTimeSeriesCollection面包10Hz;我没有仔细检查过另一个,但它看起来很灵活。