Java中的Graphics.drawImage()在某些计算机上非常慢,而在另一些计算机上则快得多。
我遇到了一个奇怪的问题,基本上在Java Graphics.drawImage()中,某些计算机的速度非常慢,而其他计算机上速度更快。这也与计算机的功率无关,一些较弱的计算机运行良好,而一些较强的计算机似乎在drawImage调用时窒息。
它可能与宽度和高度有关,也可能与宽度和高度无关,我有一个非常非常大的宽度和高度定义(大约5000×2500)。我不认为这是问题所在,除非像我说的那样,它在某些计算机上以实时速度运行,而在另一些计算机上运行速度较慢,并且似乎与计算机的相对功率无关。
两台计算机都有相同版本的Java,都使用Vista。一个具有1.83ghz Core 2 Duo,具有1gb RAM和板载图形(运行一切正常),另一个具有2.53 ghz Core 2 Duo,带有9600GS(最新的nVidia驱动程序)和4gb RAM,它在drawImage调用中确实很糟糕。
有什么想法吗?
编辑:好吧,这真的很奇怪,我正在将图像绘制到Swing中的窗口,现在当我调整窗口大小并使其非常小时,图像也会缩小并且变小。突然间,一切都运行顺利,当我将其缩放到它仍然平稳运行之前的大小时!
它还存在多个监视器问题,如果我执行调整大小技巧以使其在一个监视器上运行得更快,然后在超过一半的窗口位于新监视器中时将其滚动到另一个监视器,它将再次开始晃动。我必须再次将窗口大小调整为小,然后恢复到其原始大小以恢复速度。
如果我在一台显示器上执行调整大小技巧,请将其移动到另一台显示器上,当然会嘎嘎作响,但是如果我将其返回到我执行调整大小技巧的原始显示器,它可以100%工作
如果我打开了两个摆动窗口(显示相同的图像),它们都会运行缓慢,但是如果我在一个窗口上执行调整大小的技巧,它们都会开始平稳运行(但情况并非总是如此)。
*当我说调整窗口大小时,我的意思是让它尽可能小,直到图像实际上看不到。
这可能是Java中的一个错误吗?