the method getPixelColor(int x,int y)
from the Robot class的工作原理是什么?我尝试这样的代码片段:我的电脑,这是一个酷睿2上Robot的getPixelColor(int x,int y)方法是如何工作的?
try
{
Robot robos = new Robot();
}
catch (AWTException e)
{
}
for (int i = 0; i < 100; i++)
robos.getPixelColor(0, 0);
System.out.println("fsadf");
,并花了一秒或更短执行打印语句。然而,当我在我的笔记本电脑上运行这个相同的代码时,这是一个核心的i3,花费了更多的时间(大约2-3秒)。
这是什么原因?这是否与屏幕质量或类似的东西?我怎么解决这个问题?
*花费1秒或更少的时间来执行“*一个聪明的虚拟机可能意识到循环完全没有(或至少达到)完全没有任何东西,从而完全消除它。或换句话说,它可能不是硬件,但是虚拟机是不同的,尽管一般的观点是这样的:1)不要执行过早的优化; 2)如果代码确实需要优化,不要将这些琐碎的,不相关的测试作为设计决策的基础。该代码甚至不会编译,因为'robos'在循环中不在显示范围内。 –