gpt4 book ai didi

c - 使用 Queryperformancecounter 时的最大延迟和抖动是多少?

转载 作者:行者123 更新时间:2023-11-30 17:44:34 25 4
gpt4 key购买 nike

#include "TIMER1.h"
#include "MAIN.h"
typedef unsigned _int64 uint64;

void TASK1()
{
uint64 freq, start, end, diff;
//unsigned int milliseconds;

QueryPerformanceFrequency((LARGE_INTEGER*)&freq);
QueryPerformanceCounter((LARGE_INTEGER*)&start);

// code to measure
printf("hi\n");
printf("hi1\n");
printf("hi2\n");

QueryPerformanceCounter((LARGE_INTEGER*)&end);
diff = (((end - start) * 1000) / freq);
//milliseconds = (unsigned int)(diff & 0xffffffff);
printf("It took %u ms\n",diff);

}

我从主函数中多次调用 void TASK1() 函数,并分析打印所需的时间,如上面的代码(即 hi、hi1、hi2)。我正在计算打印 hi、hi1、hi2 所需的开始时间和结束时间之间的时间差。我的问题:为什么我的输出出现延迟并且无法完全按预期打印。

输出错误:你好你好1嗨2花了 0 毫秒

嗨你好1嗨2花了1毫秒

有时在输出中:你好1嗨2花了2毫秒

这是什么原因?如何将上面的代码从毫秒更改为微秒?

最佳答案

  1. 不同的延迟。 ...原因是什么?

    printf() 与其他进程同步,因此所需时间可能会有所不同。

  2. ...如何将上面的代码从毫秒更改为微秒?

    diff = (((end - start) * 1000000) / freq);
    printf("It took %u us\n",diff);

关于c - 使用 Queryperformancecounter 时的最大延迟和抖动是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19939838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com