我有疑问如何创建一个高性能的摇摆组件。
该组件应该绘制某种条形图。组件的数据存储在单独的 FIFO 缓冲区类中。每次更新缓冲区时都会通知组件。
目前,每次数据更改时组件都会绘制一个 BufferedImage 。然后条形图组件的paintComponent方法绘制创建的BufferedImage。
由于我的应用程序中有很多数据更改,我正在考虑改进 BufferedImage 的绘制。大多数条形图保持不变。它只是向右移动,最新的数据更改添加到条形图的左侧。
目前,整个 BufferedImage 是根据存储在缓冲区中的数据重新创建的。我能想到的是使用 AffineTransformation 移动旧的 BufferedImage 并只添加最近添加的数据。这将极大地减少 BufferedImage 上的绘图操作量。
但我不知道这是否会加快应用程序。BufferedImage 上的 AffineTransformation 有多贵?
欢迎任何意见。还有一些其他提示如何创建高性能的摇摆应用程序。
提前致谢