Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.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# 高清鼠标事件的高精度计时_C#_Windows_Mouseevent_Stopwatch_Raw Input - Fatal编程技术网

C# 高清鼠标事件的高精度计时

C# 高清鼠标事件的高精度计时,c#,windows,mouseevent,stopwatch,raw-input,C#,Windows,Mouseevent,Stopwatch,Raw Input,我正在使用Windows中的高清晰度鼠标logitech g500,我希望获得原始鼠标事件的低延迟时间戳。我用时间戳来计算鼠标移动之间的停顿,所以时间戳的相对精度才是关键 我正在使用原始输入API来监视鼠标事件。消息中没有计时信息,所以我在Windows中使用了秒表。在触发事件处理程序时获取时间戳的诊断-即,鼠标事件处理程序中的第一个操作是读取秒表中的滴答声 既然我在这种情况下没有任何基本事实可以处理,那么有人认为这种方法存在直接和明显的缺陷吗?或者更好,如果您在对秒表的延迟及其在不同读取过程中

我正在使用Windows中的高清晰度鼠标logitech g500,我希望获得原始鼠标事件的低延迟时间戳。我用时间戳来计算鼠标移动之间的停顿,所以时间戳的相对精度才是关键

我正在使用原始输入API来监视鼠标事件。消息中没有计时信息,所以我在Windows中使用了秒表。在触发事件处理程序时获取时间戳的诊断-即,鼠标事件处理程序中的第一个操作是读取秒表中的滴答声

既然我在这种情况下没有任何基本事实可以处理,那么有人认为这种方法存在直接和明显的缺陷吗?或者更好,如果您在对秒表的延迟及其在不同读取过程中的可变性发表任何评论之前使用过秒表?

秒表类使用CPU上的高性能计时器(如果可用),因此它是您将获得的最高分辨率计时器


您可以使用IsHighPrecision属性检查以确保拥有高精度实例。

您将面临严重的风险,即仅测量UI线程对WM_输入消息的响应程度。这与线程在重新进入消息循环之前所做的操作相关。而且变化很大。