- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我正在阅读这篇文章,其中包含“SDL 中多线程编程的提示和建议”-https://vilimpoc.org/research/portmonitorg/sdl-tips-and-tricks.html
它谈到 SDL_PollEvent 效率低下,因为它可能导致 CPU 使用率过高,因此建议改用 SDL_WaitEvent。
它显示了两个循环的示例,但我看不出这如何与游戏循环一起使用。 SDL_WaitEvent 是否只应由不需要不断更新的事物使用,即如果您正在运行游戏,则每帧都会执行游戏逻辑。
我认为它唯一可以用于像绘画程序这样的程序,其中只需要对用户输入进行操作。
我认为应该继续使用 SDL_PollEvent 进行通用游戏编程是否正确?
最佳答案
如果您的游戏仅根据用户输入更新/重新绘制,那么您可以使用 SDL_WaitEvent。然而,即使没有用户输入,大多数游戏也会有动画/物理效果。所以我认为 SDL_PollEvent 最适合大多数游戏。
SDL_WaitEvent 可能有用的一种情况是,如果您将它放在一个线程中,而将动画/逻辑放在另一个线程中。这样,即使 SDL_WaitEvent 等待很长时间,您的游戏也将继续绘画/更新。 (编辑:这实际上可能不起作用。请参阅下面 Henrik 的评论)
对于如文章所述使用 100% CPU 的 SDL_PollEvent,当您检测到游戏的运行速度超过所需的每秒帧数时,您可以通过在循环中添加 sleep 来缓解这种情况。
关于SDL_PollEvent 与 SDL_WaitEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18860243/
所以我正在阅读这篇文章,其中包含“SDL 中多线程编程的提示和建议”-https://vilimpoc.org/research/portmonitorg/sdl-tips-and-tricks.ht
(我仍然和我问的最后两个问题在同一条轨道上,我只是不能在正确的位置击中这个!) 无论如何,我的问题是:如何添加或仅允许 SDL_WaitEvent 注册某些内容? 我正在处理的当前程序要求在返回游戏循
我正在处理 Wolf,我遇到了一个错误,有时被检测为段错误,有时被检测为 sig 中止,有时我们也收到此错误:“线程已经初始化此类!” 我使用了lldb,他显示WaitEvent函数出错了。 SDL_
我在我的主循环中使用它: if (SDL_WaitEvent(&event)) { switch (event.type) { case SDL_MOU
我是一名优秀的程序员,十分优秀!