1

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

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

目前,每次数据更改时组件都会绘制一个 BufferedImage 。然后条形图组件的paintComponent方法绘制创建的BufferedImage。

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

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

但我不知道这是否会加快应用程序。BufferedImage 上的 AffineTransformation 有多贵?

欢迎任何意见。还有一些其他提示如何创建高性能的摇摆应用程序。

提前致谢

4

1 回答 1

1

如果没有某种基线,就很难衡量改进。一开始,您可以使用 比较此处显示的两种方法JFreeChart。面包频率为DynamicTimeSeriesCollection10Hz;我没有仔细检查过另一个,但它看起来很灵活。

于 2012-07-02T15:09:06.247 回答