我有問題如何創建高性能的swing組件。來自FIFO緩衝區的高性能條形圖
組件應繪製某種條形圖。組件的數據存儲在分段FIFO緩衝區類中。每次更新緩衝區時都會通知組件。
當組件在每次數據改變時繪製一個BufferedImage。條形圖組件的paintComponent方法然後繪製創建的BufferedImage。
由於在我的應用程序中有很多數據更改的事實,我正在考慮改進BufferedImage的繪製。大部分條形圖保持不變。它只是向右移動,最新的數據更改添加到條形圖的左側。
目前整個BufferedImage是從存儲在緩衝區中的數據中重新創建的。我能想到的是使用AffineTransformation移動舊的BufferedImage,並只添加最近添加的數據。這將極大地減少BufferedImage上繪圖操作的數量。
但我不知道這是否會加快應用程序。 BufferedImage上的AffineTransformation有多昂貴?
歡迎任何言論。還有一些其他提示如何創建一個高性能的swing應用程序。
在此先感謝
您至少需要編輯您的問題以顯示預期的負載和工作週期。 – trashgod