Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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 sharp中使用QueryPerformanceCounter,但未获得精确结果_C# - Fatal编程技术网

C# 在c sharp中使用QueryPerformanceCounter,但未获得精确结果

C# 在c sharp中使用QueryPerformanceCounter,但未获得精确结果,c#,C#,我使用QueryPerformanceCounter在我的c sharp程序中获得精确的计时行为。但是,如果我使用thread.sleep测量计时,它不会给出预期的结果。 我遵循msdn站点给出的标准示例: myTimer.Start(); 对于(int i=0;i

我使用QueryPerformanceCounter在我的c sharp程序中获得精确的计时行为。但是,如果我使用thread.sleep测量计时,它不会给出预期的结果。 我遵循msdn站点给出的标准示例:

myTimer.Start();
对于(int i=0;i
结果如下:

迭代次数:5次 每次迭代的平均时间: 0.208957983452184秒

日期时间。现在给出:

试运行持续时间: 5秒 5000毫秒


你能告诉我什么是可能的错误吗?

我会检查
QueryPerfCounter.Duration
下的数学,因为他们的示例输出对我来说是正确的,或者确保迭代下的秒数行是
100000000
。你能显示更多的代码吗?就是输出你显示的数字的代码?(我希望您使用的是秒表类,而不是编写自己的…)我尝试了链接中给出的相同代码。一件有趣的事情是,它不在我的机器上工作,这台机器有Intel Core 2 Duo ProProcessor 2.99 GHz,但它在另一台机器上工作得很好,这台机器有Intel Xeon 2 GHz,代码没有任何问题。。。尝试使用System.Diagnostics.Stopwatch(使用与samepl相同的基础结构)重写,看看是否得到相同的奇怪结果。也许值得重新命名这个问题,以反映is失败的环境,以便其他人尝试回答。
    myTimer.Start();
    for (int i = 0; i < iterations; i++)
    {
        // Method to time
        System.Threading.Thread.Sleep(1000);
    }
    myTimer.Stop();