gpt4 book ai didi

sdl - 编写更好的游戏循环

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

我正在编写一款吉他英雄克隆游戏。它运行良好,但在快速计算机(高帧率)中动画并不总是流畅。我的意思是有时音符滚动时会出现颠簸。我发现问题可能与我的游戏循环有关,它没有限制 fps(因为我正在更新经过的帧时间,所以我认为没有必要)。当发生从 140 fps 到 60 fps 的下降时,这些颠簸是显而易见的。

我看了一下这个网站:http://www.koonsolo.com/news/dewitters-gameloop/我正在尝试实现“FPS 取决于恒定游戏速度”方法,只是为了查看问题是否已解决。

问题是我的游戏更新和渲染稳定在 60fps,而声音回调似乎调用的远不止于此。我将 Audiere 用于声音,将 SDL 用于计时器/输入。

我以为 SDL_Delay 会暂停游戏线程直到完成,但似乎并非如此。有什么我想念的吗? SDL 不是时间上可靠的库吗?

最佳答案

一些示例或伪代码将非常有助于了解您在做什么。来自 SDL_Delay 的文档:

This function waits a specified number of milliseconds before returning. It waits at least the specified time, but possible longer due to OS scheduling. The delay granularity is at least 10 ms. Some platforms have shorter clock ticks but this is the most common.

它可能会延迟太多。假设您正在使用 while 循环,您是否尝试过“继续”以减慢绘制速度?如果您执行 SDL_Delay(1),它可能会花费更长的时间,从而打乱您的计算。

关于sdl - 编写更好的游戏循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10029510/

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