我正在编写一个应用程序[net / wpf / c#],用于衡量用户在听到单词后点击(响应)的速度。它被称为听觉处理速度测试(PST),人的平均速度约为70-140ms。为了了解生成的事件的精确度,我写了以下内容。
public partial class MainWindow : Window
{
System.Diagnostics.Stopwatch w = new System.Diagnostics.Stopwatch();
public MainWindow () { InitializeComponent(); }
private void textBlock1_PreviewMouseDown (object sender, MouseButtonEventArgs e)
{
e.Handled = true;
w.Stop();
System.Diagnostics.Debug.WriteLine(w.ElapsedMilliseconds);
w.Reset(); w.Start();
}
private void Grid_KeyDown (object sender, KeyEventArgs e)
{
e.Handled = true;
w.Stop();
System.Diagnostics.Debug.WriteLine(w.ElapsedMilliseconds);
w.Reset(); w.Start();
}
}
private void Application_Startup (object sender, StartupEventArgs e)
{
Process thisProc = Process.GetCurrentProcess();
thisProc.PriorityClass = ProcessPriorityClass.RealTime;
ProcessThreadCollection myThreads = thisProc.Threads;
foreach (ProcessThread pt in myThreads) {
pt.PriorityLevel = ThreadPriorityLevel.TimeCritical;
}
}
我点击的最快速度大约是100毫秒,如果按住键盘键然后按下,我的响应时间会缩短到30毫秒。有什么方法可以让它更快吗? TIA
答案 0 :(得分:1)
您是否考虑过通过DirectInput轮询鼠标。