我试图在sfml中创建一个速率限制器,但它不能正常工作,所以我尝试打印出时间,
结果就是这样。
3E-06
我的代码是
int main()
{
sf::Clock clock;
sf::Time time = clock.getElapsedTime();
while(true) std::cout << time.asSeconds() << std::endl;
}
所以我想知道我是不是真的需要SF::RenderWindow什么的,或者它只是一个bug?
GetElapsedTime
的文档说明(强调是我的):
此函数返回自上次调用restart()以来经过的时间(如果未调用restart(),则返回实例的构造)。
因此,换句话说,您正在测量以下时间之间的经过时间:
sf::Clock clock;
和:
sf::Time time = clock.getElapsedTime();
3微秒似乎不是不合理的。
您可能打算将对clock.getElapsedTime
的调用放在循环中。