我在我的一个简单的乒乓球游戏中使用 GetAsyncKeyState() 来检查用户是否按下了箭头键。我在网上读到您需要以某种方式使用此功能,但我发现它非常占用 CPU(使用了我的 CPU 的 50%!)。这是相当令人不安的,然而,在玩了一些之后,我发现如果我添加了一个,sleep(1);
那么 CPU 使用率就会下降到 0% 并且一切仍然正常。必须有更好的方法来使用此功能,或者至少有更好的方法来降低 CPU 使用率。
在这里的任何帮助将不胜感激!
我的代码:
while(true)
{
for(i = 8; i < 191; ++i)
{
if(GetAsyncKeyState(i) == -32767)
{
if(i == VK_LEFT)
// do stuff
else if(i == VK_RIGHT)
// do stuff
else if(i == VK_UP)
// do stuff
else if(i == VK_DOWN)
// do stuff
}
}
Sleep(1);
}