问题标签 [frame-rate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
495 浏览

vb6 - 帮助 ffmpeg

我现在可以从 cmd 窗口中执行的 FFmpeg 过程中读取最后一行。使用脚本主机模型对象引用此源。

这条线是这样的。它是 cmd 窗口中的最后一行(在底部)。

我削减了时间的一部分,以便在我的 vb 6.0 应用程序中构建一个进度条。但是在 cmd 进程中存在一个值 13 排列这个值,它称为总持续时间。但是我看不懂这一行,有人有代码或任何想法可以从 ffmpeg 的 cmd 窗口的最后一行向上读取 ubicated 13 行...

0 投票
5 回答
3577 浏览

c++ - 计算浮点数中的数字

我正在关注一些 C++ 中 OpenGL 的初学者教程,但是当我开始作为 ac# 程序员时,它让我认为很多事情是理所当然的。所以当我调试将我的 FPS 读数打印到输出时出现了我的问题。我认为该方法类似于我头顶上的 DebugPrintString,它需要一个 char* 并且基本上我正在打印“FPS:x”。我使用 scanf_s 将 fps 值放入字符数组中,但这是我的问题所在。字符数组必须有多大?

让我再详细说明一下:我的 FPS 读数存储为浮点数,因为帧/秒通常最终不是一个好数字。所以我的号码可能是 60,也可能是 59.12345。60 只需要 2 个字节,而 59.12345 需要 8 个(周期为 1)。所以我想“哦,好吧,我需要计算它的位数,没问题!” 男孩让我感到震惊。

我做了一种计算数字的方法,计算小数点左侧很容易,首先将其转换为 int 以删除小数点并除以 10(实际上我认为我在那里进行了一些位移)和计算我可以这样做的次数,直到我达到 0。现在要计算右侧的数字,我将乘以 10,减去数字,然后这样做直到它达到零。我认为该方法通常会返回 32。所以我 WTF'd 并在调试中查看了它,结果当你将浮点数相乘时有效地将数字列向上移动,因为众所周知的精度问题它只是附加了另一个数字!

我做了一些主要的谷歌搜索,但在 char str[128] 和 scanf 之上找不到任何内容,如果在 then 中执行 strlen(str) 减 1(空终止符)。但我希望有一个更优雅的解决方案。最后我只是将它转换为一个 int 并允许 9999 fps,还添加了一个检查以查看 fps > 9999 但我认为这不会发生。比 SEG FAULT 更安全 :(

TLDR:有没有办法获得浮点数的位数?scanf 是怎么做到的?!

抱歉发了很长的帖子,只是想分享我的挫败感>:D

编辑:拼写错误

0 投票
3 回答
1304 浏览

opengl - 这个FPS怎么算?

在我的 OpenGL 书中,它是这样说的:

“在这样的系统上经常发生的情况是,帧太复杂而无法在 1/60 秒内绘制,因此每帧显示不止一次。例如,如果绘制一个帧需要 1/45 秒,你会得到30 fps,图形空闲时间为每帧 1/30 1/45 = 1/90 秒,或三分之一的时间。”

在说“绘制一帧需要 1/45 秒,你得到 30 fps”的句子中,为什么我只得到 30 fps?45 fps 不是更正确吗?

0 投票
0 回答
124 浏览

signature - 如何为 Amazon FPS Marketplace 中的结算请求生成签名?

文档真的很糟糕,虽然创建一个预订信用卡付款的按钮相当简单,但能够释放该付款是一种痛苦。我在实际生成该签名时遇到了最大的麻烦。

有人以前使用过FPS并有想法吗?

谢谢!

0 投票
8 回答
1056 浏览

frame-rate - 赛车游戏,汽车在更快的计算机上移动得更快

我理解它为什么会这样做,但我真的不知道如何防止这种情况。所以场景是,每一帧我都会将汽车移动一定的预定义像素。当我使用慢速或更快的计算机时会发生什么......好吧,我每秒获得的帧数更少或更多,因此汽车移动得更慢或更快。我想知道如何防止这种情况发生。

我怀疑使用任何库我都会遇到同样的问题......这是我第一次做这样的实时事情。

0 投票
6 回答
3557 浏览

c++ - 在 OpenGL 中构建 FPS:我的枪正被截锥体夹住

我正在使用 OpenGL 构建第一人称射击游戏,并且试图让枪模型漂浮在镜头前。我使用资源反编译器(转换为 .obj 并加载)从 Fallout 3 中提取了一个模型。

然而,这就是它在屏幕上的样子:

截屏

枪的一半三角形被剪裁到似乎是平截头体的地方。

我把它放在我的相机前是这样的:

所以我保存原始GL_MODELVIEW矩阵,加载单位矩阵,将我的枪平移到相机的右侧并渲染它。这是我的 SceneNode 渲染例程:

所以它渲染自己的模型和任何子场景节点。最后,实际的网格渲染如下所示:

有什么办法可以只为枪关闭剪裁吗?其他游戏如何做到这一点?

提前致谢。

0 投票
5 回答
1463 浏览

frame - 我不明白为什么这个 fps 计数器不准确

我正在尝试在我的游戏中跟踪每秒帧数。我不希望 fps 显示为平均值。我想看看当我按下按键和添加模型等时帧速率是如何受到影响的。所以我使用一个变量来存储当前时间和以前的时间,当它们相差 1 秒时,我会更新 fps。

我的问题是它显示在 33fps 左右,但是当我快速移动鼠标时,fps 会跳到 49fps。其他时候,如果我在其他地方更改与帧计数器无关的简单代码行,或者关闭项目并稍后打开它,fps 将在 60 左右。Vsync 已打开,所以我无法判断鼠标是否仍在影响帧率。

这是我的代码,它在每帧发生的更新函数中:

以下是变量声明:

请让我知道这里出了什么问题以及如何解决它,或者您是否有更好的方法来计算 fps。谢谢!!!!!!

我正在使用 DirectX 9 顺便说一句,但我怀疑这是否相关,并且我正在使用 PeekMessage。我应该改用 if else 语句吗?这是我的消息处理循环:

0 投票
5 回答
15200 浏览

algorithm - 计算滚动窗口中每秒的消息数?

我有消息以毫秒分辨率进入我的程序(每毫秒从零到几百条消息)。

我想做一些分析。具体来说,我想维护消息计数的多个滚动窗口,随着消息的进入而更新。例如,

  • # 最后一秒的消息数
  • # 最后一分钟的消息数
  • 过去半小时内的消息数除以过去一小时内的消息数

我不能只维持一个简单的计数,例如“最后一秒有 1,017 条消息”,因为我不知道消息何时超过 1 秒,因此不应再计入计数......

我想维护所有消息的队列,搜索超过一秒的最年轻消息,并从索引中推断计数。但是,这似乎太慢了,并且会占用大量内存。

我可以做些什么来跟踪我的程序中的这些计数,以便我可以有效地实时获取这些值?

0 投票
4 回答
7515 浏览

android - 具有恒定 FPS 的 Android 游戏?

我正在实现一个具有恒定 FPS 的游戏循环。我在想 25-30 FPS 应该足够了。从你自己的经验有什么想法吗?我什至应该限制FPS吗?

0 投票
3 回答
549 浏览

c# - 在 .NET 中为方法和线程计时

我的应用程序中有两个线程 - 主 UI 线程和由 wm_WiiMoteChanged 事件处理程序(后台线程)启动的另一个线程。在主线程中,我做了一些视频处理。我有一个名为processFrame如下所示的函数。我使用该代码来测量处理每一帧的时间,从而测量每秒的帧数。

如果我注释掉这wm.WiiMoteChanged ...条线(见下文),帧速率约为 15-20 fps 并查看视频,这似乎是正确的(有一个小的延迟)。

但是当我取消注释该行时,即添加事件处理程序(它将自己产生一个线程),fps 上升到 40-50,但这绝对是错误的 - 视频实际上更加滞后。

有人可以向我解释为什么会这样吗?谢谢。

更多代码:

编辑

一个有趣的发现,只有当这条线出现在 wm_WiimoteChanged 中时,才会发生这种情况。

ibxOutput.Image = new Image<Bgr, Byte>(_irViewAreaBitmap);

旁注:这条线也是更高延迟的原因 - 在设置它之前完成的处理实际上很快!