gpt4 book ai didi

graphics - SDL FPS 输入延迟

转载 作者:行者123 更新时间:2023-12-02 18:55:34 24 4
gpt4 key购买 nike

我在 Playground 项目中使用 SDL,我有点担心我的 PC 性能 - 它太高或者我只是在徘徊。

问题是,当我按下键盘上的键时更改某些 Sprite 的坐标(例如 2 px)时, Sprite 移动得太快。对于 1 px 速度也是如此。

通常(在 SFML 中)我会进行下一个速度更改:1.f/App->GetTimeSinceLastFrame() 并且它工作得非常完美!但现在我想使用 SDL。我不能选择延迟,因为它们在不同的电脑上不会相同(这肯定是一种非常丑陋的方式)或浮点值转换,因为下一个原因。

执行 lastTicks = SDL_GetTicks() 然后使用 1.f/(float) SDL_GetTicks() - lastTicks() 效果不好 - 差异总是 <强>零。所以要么我错了,要么两帧之间的时间太短以至于四舍五入为0

谁能给我建议我该怎么办?

注意: 将 SDL 更改为 xxx 不是一个好建议;)

最佳答案

超过 60 fps(显示器刷新率)是没有意义的。你只是在浪费CPU时间。如果您的游戏运行速度太快,请调用 SDL_Delay

    int delay=1000/maxFPS-SDL_GetTicks()+lastTicks;

if(delay>0)
SDL_Delay(delay);

关于graphics - SDL FPS 输入延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8013987/

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