我的情景基本上是我绘制了一个水平和垂直刻度的数学类型图。对于任何给定的窗口大小,标度保持静态。如果用户调整窗口大小,我只需要更改比例。因此,我在讨论是否在BufferedImage上绘制比例并调用drawImage比执行所有单独的drawXXX调用以在每个绘制上构建比例更好。后者听起来效率不高,因为用户可能会在启动时调整一次窗口大小(如果是这样),但权衡将是维持可能大到4K显示分辨率的BufferedImage所需的内存
如果有人有任何想法/意见/建议,我将不胜感激
答案 0 :(得分:0)
假设您将TYPE_INT_ARGB
用于BufferedImage
格式,则图片为" 4k"分辨率(3840x2160)大小为33.18 MB(大小字节)+标题信息可能只有几个字节。
所以,真的,它不会成为一个记忆问题。但是,请记住,无论哪种方式,每次调用BufferedImage
时,您都必须重新绘制Graphics
或paint()
对象。确实,我认为效率没有显着差异。
我在这里看到的唯一真正的区别是,使用BufferedImage
,您可以获得其内置调整大小功能的额外舒适度。通过这种方式,您可以始终以相同的方式将缩放比例绘制到图像上(不必根据窗口大小进行计算),然后将BufferedImage
的大小调整为窗口大小,它会调整大小比例适合自己的窗户。