Java 性能Image.SCALE\u默认与Image.SCALE\u平滑
我在多线程java程序中缩放图像 我使用两种不同的缩放方法: 1个案例:Java 性能Image.SCALE\u默认与Image.SCALE\u平滑,java,multithreading,image,scale,bufferedimage,Java,Multithreading,Image,Scale,Bufferedimage,我在多线程java程序中缩放图像 我使用两种不同的缩放方法: 1个案例: Image tmp = bufferedImage.getScaledInstance(w, h, Image.SCALE_DEFAULT); Image tmp = bufferedImage.getScaledInstance(w, h, Image.SCALE_SMOOTH); 此方法100%加载CPU。在我的数据集上工作20秒 2个案例: Image tmp = bufferedImage.getScaledI
Image tmp = bufferedImage.getScaledInstance(w, h, Image.SCALE_DEFAULT);
Image tmp = bufferedImage.getScaledInstance(w, h, Image.SCALE_SMOOTH);
此方法100%加载CPU。在我的数据集上工作20秒
2个案例:
Image tmp = bufferedImage.getScaledInstance(w, h, Image.SCALE_DEFAULT);
Image tmp = bufferedImage.getScaledInstance(w, h, Image.SCALE_SMOOTH);
此方法仅加载50%的CPU。
在我的数据集上工作35秒。
不管有多少线程运行此代码
感觉像Image.SCALE\u平滑使用HDD,这是瓶颈。
或者使用不接受大量图像的队列
如何提高2个案例的性能并使用100%的CPU?www.why
上有很多文章。getScaledInstance()
是邪恶的
虽然我不确定Java的人是否没有在引擎盖下修复它,但我建议您阅读
并检查其中描述的方法。甚至可能有一些库的规模比jdk默认的要好得多