gpt4 book ai didi

c++ - 如何无限帧率?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:52:37 25 4
gpt4 key购买 nike

我正在尝试完全限制 SFML 帧速率,以便显示尽可能多的帧。这样做的原因是我想遍历计算物理模拟中对象位置的一段代码,并在大约 100 次迭代后更新屏幕。

我做了:

window.SetFramerateLimit(0);
window.UseVerticalSync(false);

SFML 文档说这应该将帧速率设置为“无穷大”,但我仍然认为它停留在大约 60 左右。

有谁知道我怎样才能从中获得更多性能?

同样,一旦不受限制,我需要能够从 SDL 在 SFML 中执行与此等效的操作:

SDL.延迟(1000);

有没有办法做到这一点? SDL 延迟很好,因为它可以为其他进程释放 CPU 时间。

最佳答案

虽然您可以使用 SFML 停用/激活 VSync,但不能保证它会真正被激活,因为驱动程序本身拥有最终决定权,并且它们通常提供强制打开或关闭 VSync 的选项。所以我说你应该看看你的图形驱动程序的设置。

然后我再次想知道您实际上想通过“无限”帧速率实现什么,因为它主要只是最大化您的 CPU 的一个核心,尽管应用程序实际上没有做任何事情。如果您只是想要更多的 CPU 时间来计算东西,那么这两种方法(VSync 和 setFramerateLimit())都不应该阻止任何东西。

我强烈建议您使用 SFML 2,因为 SFML 1.6 已经超过 2.5 年没有得到维护,有很多难看的错误并且缺少一些非常有用的功能(例如 RenderTexture、VertexArray 等)。

关于c++ - 如何无限帧率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14032593/

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