在我的UWP MonoGame应用程序中,所有击键都会因鼠标输入而延迟。它有两个影响:
1)当按住任何键时,输入在我实际释放后继续。当我停止快速移动鼠标时,这就结束了。
2)当我按下一个键时,在快速移动鼠标的同时,直到我停止移动鼠标才会收到输入。
这是一个迟到的事件。
window.KeyDown += CoreWindow_KeyDown;
答案 0 :(得分:1)
这是由输入事件积压导致的,因为传递给ProcessEvents的Windows :: UI :: Core :: CoreProcessEventsOption标志。快速鼠标输入将比处理事件更快地填充事件队列,当队列变满时,新事件将被丢弃。
coreWindow->Dispatcher->ProcessEvents(Windows::UI::Core::CoreProcessEventsOption::ProcessOneIfPresent);
为实时输入传递更合适的标志,例如ProcessAllIfPresent。