问题标签 [gettickcount]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
250 浏览

c++ - C++ 调用 API 函数 ::GetTickCount() 大约需要 18 天

在几台 Windows 计算机上,我看到两个相互跟随的对 ::GetTickCount() 的调用返回 1610619236 毫秒(大约 18 天)的差异。这不是因为环绕 og int/unsigned int 不匹配。我使用 Visual C++ 2015/2017。

有没有其他人看到过这种行为?有没有人知道什么可能导致这样的行为?

最好的问候约翰

显示错误的代码示例:

0 投票
1 回答
89 浏览

loops - 如何使用 IdleHandler 在 Delphi 中设置固定 FPS?

我的 Delphi 应用程序中有一个 OpenGL 窗口,我想根据用户的选择使用固定或无上限的 FPS 进行渲染。每渲染一次窗口(例如 30 FPS)似乎可以工作,但不起作用的是计算这些 FPS 并显示它。这很奇怪,因为它适用于未封顶的部分。这是代码,我也用 TStopWatch 尝试过,但我遇到了同样的问题,我在下面解释。

至于FPS变量,当设置为 0 时,我将帧定义为无上限。FPS这是我遇到的问题:在无上限 FPS 模式下,一切正常,但一旦我切换到上限 FPS,出于某种原因StartTimePrevTime总是相等的,因此DrawTime变为 0。这导致了这样一个事实,即TimeCount不会增加,我永远不会进入 if 条件,在其中我检查 TimeCount >= 1000 并设置Frames我在窗口中显示的变量。

我很困惑,因为对于无上限和有上限的 FPS 它是相同的确切代码片段,我怎样才能为这些变量获得如此不同的值?我想这可能是一个问题GetTickCount,但事实并非如此,因为我得到了相同的结果TStopWatch

有人可以告诉我我做错了什么或如何正确做吗?