试图find一种方法来限制程序/游戏的帧率,类似于VSync的方式,而不是指定的数字(而不是屏幕刷新率)。 在FRAPS中可以看到我瞄准的一个完美的例子,当录制video时,帧率限制在录制速率上。 原因在于快速的步伐游戏不是以graphics方式强化以阻止由于帧速率的巨大变化而导致的“屏幕滞后”,然而VSync并不适合奇怪地增加了键盘/鼠标之间的等待时间(两者都以高速轮询)不是硬件问题)。
在C / ++中寻找理想的一些build议,老实说不知道从哪里开始。
在QML中显示FPS
Windows FFmpeg将imges转换成正确帧率的gif
XNA的cpu使用率很高
我不确定你是否明白你在问什么。
FPS游戏的运作方式是画屏幕,做键盘/鼠标/等等的处理和游戏逻辑,然后再画画面。 在一个紧密的循环。
画面的绘制速度越快(这主要是图形适配器的问题),并且可以更快地完成其逻辑工作,帧速率就越快。 因为这就是所有这一切发生的事情。
帧率不会降低处理速度,反过来也是如此。 如果你在屏幕画面之间放置了一些暂停,你可能会让你的cpu稍微凉爽些,但是不能完成其他任何事情。
换句话说:帧速率是一种效应,不是原因。 你的个人电脑花费每一个空闲的微秒做屏幕更新,因为它没有什么好做的。
当你看到滞后时,那就是你的电脑真的陷入了巨大的内存移动,磁盘读取,屏幕计算(认为1000个敌人在你身上飞行)或因互联网延迟而窒息。 延迟不是由屏幕重绘造成的。
更新:
我很难相信你在说什么,但我只是这里的答案。 如果你真的想降低你的帧速率,给你的cpu做一些事情。 运行一个Linux内核编译。 不用等,gamez = Windowz。 提起Calc.exe并要求科学模式为大量的阶乘。 走着瞧吧。 如果帧速率没有下降,请与2或3个Calc并行处理。
使用线程API暂停游戏的线程几个毫秒,然后恢复它们。 这篇文章(C ++)在CodeProject和这个堆栈(虽然C#)上有一些细节。
kkapture (开放资源)为演示做这个。 我不知道它是否可以修改为您的目的。 它创建一个代理视频驱动程序,但它可能太硬核处理。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。