Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Form.KeyDown事件的键盘轮询频率是多少?_C#_.net_Events_Keyboard - Fatal编程技术网

C# Form.KeyDown事件的键盘轮询频率是多少?

C# Form.KeyDown事件的键盘轮询频率是多少?,c#,.net,events,keyboard,C#,.net,Events,Keyboard,我正在以每秒45帧的速度运行一个程序。这是一个游戏,所以及时的用户输入很重要。似乎键控事件有时会执行。。。慢慢地?就好像轮询间隔有时变化达3或4秒。我绝对肯定,实际的游戏并没有落后,而是输入落后。 我计划转到GetKeyState(),但我仍然想知道KeyDown事件的实际轮询频率 编辑:我想发布一个链接到我正在使用的解决方法。没有轮询频率——Windows使用消息传递系统向应用程序发送按键(和其他事件通知) 物理按键触发一个中断,该中断进入操作系统,最终向您的程序发送一条消息 您看到的延迟可能

我正在以每秒45帧的速度运行一个程序。这是一个游戏,所以及时的用户输入很重要。似乎键控事件有时会执行。。。慢慢地?就好像轮询间隔有时变化达3或4秒。我绝对肯定,实际的游戏并没有落后,而是输入落后。 我计划转到GetKeyState(),但我仍然想知道KeyDown事件的实际轮询频率


编辑:我想发布一个链接到我正在使用的解决方法。

没有轮询频率——Windows使用消息传递系统向应用程序发送按键(和其他事件通知)

物理按键触发一个中断,该中断进入操作系统,最终向您的程序发送一条消息

您看到的延迟可能是因为事件队列是Windows中的共享服务(即,当系统上有负载时,Windows会在消息发生后不久发送消息)。3-4秒是一个很大的延迟,但我不确定是什么原因造成的


有关更多信息,请参阅。

没有轮询频率--Windows使用消息传递系统向应用程序发送按键(和其他事件通知)

物理按键触发一个中断,该中断进入操作系统,最终向您的程序发送一条消息

您看到的延迟可能是因为事件队列是Windows中的共享服务(即,当系统上有负载时,Windows会在消息发生后不久发送消息)。3-4秒是一个很大的延迟,但我不确定是什么原因造成的


有关更多信息,请参阅。

+1。@Bloodyaugust遇到的延迟可能是因为游戏没有正确处理消息。@Ken:你能解释一下为什么它没有正确处理消息吗?Net不是在幕后处理所有的消息处理吗?即使在负载相对较低的情况下,它也会在所说的队列中延迟吗?@Bloodyaugust:我没有任何消息来源,但我想说3-4秒的延迟真是太可怕了——我曾经使用Windows消息在线程之间进行通信,延迟是不可察觉的,即使在重载系统上。我不确定你的延迟是由什么引起的…@Cameron:可能是因为我每秒调用Application.DoEvents()45次?哦,等等,那应该可以解决它了…>_+1.@Bloodyaugust遇到的延迟可能是因为游戏没有正确处理消息。@Ken:你能解释一下为什么它没有正确处理消息吗?Net不是在幕后处理所有的消息处理吗?即使在负载相对较低的情况下,它也会在所说的队列中延迟吗?@Bloodyaugust:我没有任何消息来源,但我想说3-4秒的延迟真是太可怕了——我曾经使用Windows消息在线程之间进行通信,延迟是不可察觉的,即使在重载系统上。我不确定你的延迟是由什么引起的…@Cameron:可能是因为我每秒调用Application.DoEvents()45次?哦,等等,那应该可以解决它了…>_