2010-11-18 14 views
1

Bir kullanıcının, bir kelimeyi dinledikten sonra ne kadar hızlı tıklattığını (yanıt verdiği) ölçmesi gereken bir uygulama [net/wpf/C#] yazıyorum. Buna İşitsel İşlem Hız Testi (PST) denir ve ortalama insan hızı yaklaşık 70-140 ms'dir. Oluşturulan olayların kesinliği hakkında bir fikir edinmek için aşağıdakileri yazdım. Fare tıklama aralıklarının gerçek zamanlı ölçümü

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; 
    } 
} 

ben tıklayabilirsiniz en hızlı

etrafında 100 ms ve depresif klavye tuşuna tutarsanız sonra aşağı ben tepki süresi 30ms aşağı olsun. Daha hızlı yapmamın bir yolu var mı? TIA

+0

PS: tuş takımlı yineleme aralığım en yüksek değere ayarlandı. – user109134

cevap

1

Fareyi DirectInput üzerinden yoklamayı düşündünüz.

İlgili konular