c++游戏更新(线程或计时器)
Game Update in C++ (Threads or Timer)?
最近我尝试自己创造一款游戏,现在我遇到了一个问题…我想以每秒60次的速度渲染我的游戏,这很好,但随后我使用Directinput8设置键盘和鼠标,然后我调试我的游戏……我发现我的键盘每秒更新60次,比如我按下"UP"键,我的菜单就会发疯!我知道我可以使用一些变量来解决这个问题,但我也听说计时器和线程是有帮助的,我可以问一些曾经做过游戏或知道我应该怎么做的人给我一些建议吗?任何事情都会有帮助的!谢谢!:)顺便说一下,我知道有一些很酷的库(比如Allegro?)已经完成了,也许有人可以告诉我他们是如何解决这个"更新和渲染"问题的?
通常每个游戏只有一个渲染线程。它会周期性地,比如每秒,更新整个屏幕,接收你此刻所有的输入。输入,如键盘和鼠标,您在该线程之外收集,该线程在每次更新时获取它们。
相关文章:
- 计时器是否从另一个线程启动?
- 在计时器或主线程外部的命令上销毁/替换线程
- 在C++线程内实现多个计时器的最安全方法
- 线程SCHED_RR Posix 计时器使用的是 100% CPU
- 循环计时器线程
- 异步记录器线程安全
- 将两个线程同步到同一个计时器
- 如何在多个线程中安全地使用提升截止时间计时器
- MFC-在dll卸载时,扫描我的代码,任何剩余的计时器,事件,线程等
- 用于读出传感器数据的线程或计时器
- 如何使C++endl操作器线程安全
- 关闭计时器从工作线程处理
- 简单的线程计时器,请检查是否正常
- - C++ - 使用计时器线程启动异常,精度毫秒
- 计时器、线程和编译器不当行为
- 计时器和线程
- G++ 4.6 -std=gnu++0x:静态局部变量构造函数调用计时和线程安全
- 通过引用传递与通过指针传递:Boost线程和截止时间计时器
- 错误:无法从另一个线程启动计时器.使用未声明计时器的QFuture
- Rad Studio调试器线程中出现未处理的异常