问题标签 [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 投票
2 回答
6475 浏览

android - android NDK 可能实现最快的 2D 帧速率,包括我的尝试,有更好的选择吗?

android NDK 可能实现最快的 2D 帧速率,包括我的尝试,有更好的选择吗?

我使用 NDK 和 OpenGL ES 2.0 将帧显示为 GL_TRIANGLE_STRIP 上的纹理。这是在 HTC Desire 上完成的,硬件与 Nexus One 相同。我尝试加载多个 GL_RGBA 纹理并在纹理之间切换,因为单个纹理的正常填充率低得令人失望:

  • 1 个纹理:4.78 fps
  • 2 个纹理:19.68 fps
  • 3 种纹理:20.18 fps
  • 4 种纹理:28.52 fps
  • 5 种纹理:29.01 fps
  • 6 种纹理:30.32 fps

我认为即使是 30.32 fps RGBA 仍然太慢。

那么这是实现最快 2D 帧速率(具有相同质量)的方法吗?有什么建议可以加快速度吗?

以下是相关代码,它基于 hello-gl2 NDK 示例:

=== GL2JNIView.java:

=== gl_code.cpp :

0 投票
1 回答
1169 浏览

android - Android:横向模式下的帧率下降

我正在尝试(最新的)Android SDK,并注意到一些奇怪的行为。

我编写了一个骨架 SurfaceView 应用程序:Activity、SurfaceView 和一个渲染线程。它实际上并没有做任何绘画,并且每秒只将帧率写入 logcat 一次。当它以纵向模式运行时,我得到大约 60 fps。但是,当我将其翻转为横向时,帧速率会下降到大约 30 fps。

我还在 LunarLender 样本上对其进行了测试,并得到了类似的结果。所有的测试都是在模拟器上完成的,因为我没有物理设备。

这到底是怎么回事?我似乎在谷歌上找不到任何提及这一点,有其他人经历过吗?它只是一个模拟器怪癖还是它也适用于物理硬件?

0 投票
2 回答
601 浏览

flash - 如何优化 Flash/Actionscript 中的帧速率?

我正在使用 Flash 资源在 Actionscript 中构建一个应用程序,当我尝试在屏幕上渲染 20 多个资源时,我的帧速率变得非常低 (~7 fps),即使这些资源中的大多数都是已停止的影片剪辑。我尝试将 .cacheAsBitmap 设置为 true,这有点帮助,但还不够。我还能做些什么来提高帧速率?我注意到某些影片剪辑似乎比其他影片剪辑对它的影响更大,但我不确定如何更改它们以使其更易于渲染。

谢谢!

0 投票
3 回答
495 浏览

iphone - 来自PNG的全屏iPhone动画

我需要更多PNG文件序列的动画(300个png文件,大小为320x480)。我尝试使用12 fps来制作它,但有时 iPhone 3g 会出现滞后... 3gs 工作正常。我认为 2g 总是滞后。

我使用了一个 UIImageView 并通过 UIImage:imageWithContentOfFile 在 NStimer 回调中加载图像。

可能这不是动画 png 文件的最佳方式吗?

注意:以前我使用ImageOptim来打包(或剥离 ??)我所有的图像(从 20% 到 80% 大小的条带)。

问候,

0 投票
1 回答
3285 浏览

video - 如何计算重复小数的帧持续时间?

如果我有一个以 30fps 播放的视频,那么每帧的持续时间是 1/30 秒或 33.333333... 毫秒。

假设您正在实现一个视频播放器,您将如何处理每帧的持续时间由重复小数表示的事实?

例如,如果您将第 29 帧的持续时间截断为 33.33 毫秒,那么第 30 帧的持续时间必须稍长一些,即 33.43 毫秒,以保持 30fps 的速率。

视频播放软件是否有处理此问题的标准方式?

0 投票
3 回答
1089 浏览

iphone - iphone 上使用 mach_absolute_time 的帧速率

我有以下代码,并希望得到其他人的帮助,以确保我编写了正确的代码来计算场景的帧速率。你能插话吗?

这是使用 SDK 3.2 为 iPad 编写的。

谢谢!

0 投票
3 回答
5507 浏览

javascript - 如何判断是什么导致 HTML5 Canvas 性能下降?

我如何判断画布的缓慢性能是由绘图本身引起的,还是由计算应该绘制什么以及在哪里绘制的底层逻辑引起的?

我的问题的第二部分是:如何计算画布 fps?这就是我的做法,对我来说似乎是合乎逻辑的,但我也可能是绝对错误的。这是正确的方法吗?

编辑: 根据内森的评论,我用以下内容替换了上面的内容:

那么这个怎么样?您也可以仅计算自上次更新以来的毫秒差异,也可以通过这种方式看到性能差异。顺便说一句,我还对两者进行了并排比较,它们通常几乎一起移动(最多相差 2),但是,当性能非常低时,后者的峰值更大。

0 投票
3 回答
1082 浏览

python - 可以在 Python 中制作一个显示 FPS(每秒帧数)的程序吗?

我在想...

有可能做到吗?

一个简单的基于控制台命令的程序,显示您当前运行的游戏/程序的 FPS 怎么样?

0 投票
4 回答
11949 浏览

java - 游戏开发:如何限制 FPS?

我正在写一个游戏,我看到 FPS 算法不能正常工作(当他必须计算更多时,他睡得更久......)所以,问题很简单:如何计算具有正确 FPS 的睡眠时间?

我知道在微秒内更新一帧游戏需要多长时间,当然还有我想要达到的 FPS。

我正在疯狂寻找一个简单的例子,但我找不到......

代码可能是 Java、C++ 或伪......

0 投票
3 回答
3544 浏览

javascript - 如何使 JavaScript 动画在所有系统上的所有浏览器上以相同的速度播放?

我有一个函数可以计算在 X 轴和 Y 轴上移动的各种对象的动画中的下一帧[我称之为frameRender()],还有一个函数将生成的帧应用于对象[我称之为frameDisplay()]。对象不只是从 A 点移动到 B,它们不断移动,总是接收新的目标坐标。我使用setInterval()带有1000/frameRate间隔的 a ,但这似乎根本不起作用,因为浏览器没有准确的时间。

问题是:如何确保动画具有恒定的帧速率,并在所有浏览器、所有系统上以相同的速度运行?我已经尝试了所有方法,即使在不同的浏览器上似乎也无法获得准确的结果(我在 Firefox 和 Chrome 上进行测试,Chrome 通常显示速度要快得多)。

frameDisplay()结果应该是:当它播放慢时,动画间隔应该首先减少,然后如果DOM显示慢,则尝试跳过一些帧[通过跳过],直到它正确播放。当它快速播放时,动画间隔应该增加,使动画以正确的速度播放。

但是您如何在所有这些中保持一致性,因为您无法始终确定浏览器何时会变慢,或者它们何时会执行得更快。例如,如果有巨大的运动尖峰,我们减小间隔以保持帧率稳定,然后突然大部分运动物体停止或不动,它会突然执行得非常快!

有任何想法吗?