gpt4 book ai didi

c++ - FPS游戏ping实现

转载 作者:搜寻专家 更新时间:2023-10-31 00:18:59 25 4
gpt4 key购买 nike

我目前正在开发一款 FPS(第一人称射击)游戏,我想在游戏中显示玩家的 ping(连接延迟)。但是最好的方法是什么?一开始我想使用 GetTickCount64,但是 Get Tick Count 并不精确:

“GetTickCount64 函数的分辨率受限于系统计时器的分辨率,通常在 10 毫秒到 16 毫秒的范围内。”

我想到了使用 time.h 来查看 1 秒内有多少个滴答计数。但我认为这不是最好的解决方案。

有人可以帮我解决这个问题吗?

编辑:我正在制作 Windows 游戏。 (感谢 unwind 和 Lefteris 提到我忘了记下来)

最佳答案

如果您正在寻找 Windows 解决方案,请尝试 QueryPerformanceCounter .

BobJoy1 发布了以下代码。您必须像这样将两次调用之间的差异除以 CPU 频率:

LARGE_INTEGER start;
::QueryPerformanceCounter(&start);
// do something
LARGE_INTEGER stop;
::QueryPerformanceCounter(&stop);

LARGE_INTEGER proc_freq;
::QueryPerformanceFrequency(&proc_freq);
double frequency = proc_freq.QuadPart;
double seconds_elapsed = ((stop.QuadPart - start.QuadPart) / frequency);

关于c++ - FPS游戏ping实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9178100/

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