问题标签 [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 回答
751 浏览

amazon-web-services - 突然间,我的 Amazon FPS 签名字符串无效

有什么问题?突然间,我在尝试处理付款时收到“无效的签名字符串”错误。以下是一种形式的示例:

0 投票
2 回答
3931 浏览

c++ - 使用 DirectX 和 C++ 保持稳定帧速率的最有效方法是什么?

我正在从一本关于游戏编程的书中学习 DirectX,它使用以下方法进行游戏循环:

无论时间是什么,这都是start相等的(我猜 get tick count 给出了自程序启动以来的“ticks”数量),然后,30 个滴答后,所有的 AI、渲染等都完成了。

我的问题是,先做所有的 AI 等不是更有效率,然后,如果还有时间,等到框架需要改变?

那么,保持稳定帧速率的更好方法是什么?(最好只使用我已经用于声音、图像和输入的 DirectX 标头(例如 d3d9.h))

并且,在相关说明中,GetTickCount() 究竟做了什么,“tick”有多长

0 投票
1 回答
1935 浏览

opengl - WGL:没有双缓冲+多采样=失败?

wglChoosePixelFormatARB()我通常使用这些参数(以及其他参数)创建像素格式:

即双缓冲和x4 多重采样。这工作得很好。
但是当我尝试打开双缓冲时:

调用wglChoosePixelFormatARB()失败(或者说它没有创建任何东西)
当我有效地关闭多重采样时:

我又正常工作了。

是否有一些固有的东西阻止非双缓冲像素格式与多重采样一起使用?

我关闭双缓冲的原因是为了实现不受限制的帧速率。通过双重缓冲,我得到的帧速率最高仅为 60 FPS(这款笔记本电脑 LCD 工作频率为 60Hz)。但是关闭双缓冲后,我可以达到 1500 FPS。有没有办法通过双缓冲来实现这一点?

0 投票
2 回答
1405 浏览

flash - Internet Explorer 闪存性能

我将此发布到 Adob​​e 论坛,但我不希望那里有一个好的答案。我正在向在 Flash 中完成游戏并遇到同样问题的人寻求帮助。

重现我的问题的步骤:

  1. 在 Flash 中创建简单的点 DisplayObject

    /li>
  2. 一帧多次绘制点到位图

    /li>
  3. 结合浏览器测试FrameRate,Win32上的flash插件版本

预计:

大多数情况下帧率接近

观察到的:

我看到在 IE7 下使用 Flash10b.ocx(10.0.22) 的帧率下降了 25%,使用 Flash10c.ocx(10.0.32) 的帧率下降了 50%。FireFox、Safari 和 Mac OSX 下的插件不会表现出同样的减速。

请帮忙:

我想就我在 Internet Explorer 中看到的性能问题获得帮助/确认。Adobe 和 Flash 社区在 Internet 上很棒,但我很惊讶没有看到这方面的信息,只有一些关于 10.0.32 与 10.0.22 上的电影播放的报告。

我的猜测是,在 IE flash 中,插件正在将绘图调用传递给 Win32,这很慢。

我的解决方案是:

不要每次都使用 draw 在位图上绘制,而是将绘制调用缓存到位图并使用CopyPixels. 当我这样做时,跨浏览器的性能是相同的,在 10% 以内。

我正在使用的循环:

关于其他可能“已知”问题的注释,我想了解更多:

  • 据报道,在 IE 下,我的应用程序使用的内存要小得多(在 flashplayer 中通常为 33MB,在 IE 下为 16MB)。
  • 在 IE 下,内存页面错误超过 10k/秒,而在 flash 播放器中则没有。
  • 在 IE 下,stage.invalidate 似乎会导致性能问题。
  • 在 IE 下,在位图上放置模糊滤镜比在 Flash 播放器中具有更大的性能影响。
0 投票
1 回答
1321 浏览

php - 如何使用版本 2 验证 Amazon FPS/SimplePay IPN(即时付款通知)?

我浏览了文档,尝试下载各种示例代码,并尝试破解各种排列。经过一整天的工作,我筋疲力尽,认输。所以现在我乞求一些帮助。有人可以发布一个 PHP 类或函数,其中我可以使用签名版本 2 简单地验证对我的 IPN 脚本的 ping 是否合法?

非常感谢。

扎克

0 投票
1 回答
326 浏览

iphone - iPhone 3GS OpenGL 奇怪的bug

我正在使用 OpenGL ES 1.1 为 iPhone 和 iPod Touch 开发 2D 游戏。在 iPhone、iPhone 3G 和所有 iPod Touch 型号上一切正常。游戏通常以约 60 FPS 的速度渲染场景。

这也发生在 iPhone 3GS 上,但有时(它是完全随机的)3GS 将帧速率降低到 40 FPS 左右,并且动画看起来不连贯。如果用户锁定手机并从睡眠模式恢复,也会发生这种情况。

我认为这与 NSTimer 有关,因为如果我将绘制触发模式更改为 SDK 3.1+ 中可用的新 CADisplayLink 类,那么所有设备上的一切都正常......在 3GS 上也是如此。

我不知道如何解决这个问题,也不想发布带有 3.1+ 限制的应用程序。仍然有很多用户使用 3.0 设备。

iPhone 3GS 也有这个问题吗?如果是这样,请帮助我解决方法。

谢谢!

0 投票
1 回答
262 浏览

silverlight - Silverlight 应用程序的截屏?

我有一个 silverlight 应用程序,它基本上可以播放视频,如下图所示(Silverlight 3):

但是,当我“截屏”它时,使用 Microsoft Expression Encoder 3 Screen Capture 输出视频是锯齿状的,并且看起来它是以非常低的帧速率录制的,而当我“截屏”一个站点时(例如)一个由Microsoft Expression Encoder 3 的“作业输出”,它以正常帧速率记录和播放。两个录制都是使用相同的设置完成的,唯一的区别是代码,并且在 IE8 中查看时可以完美运行,所以我想知道 Silverlight 中是否有需要设置、更改等的属性Silverlight 应用程序正确“投屏”。

谢谢,

更新 Else,有没有一种方法可以将 silverlight 页面导出到视频文件或类似文件?

0 投票
3 回答
880 浏览

c++ - 从外部限制程序的帧率

试图找到一种方法以与 VSync 类似的方式从外部限制程序/游戏的帧速率,但要限制在指定的数字(而不是屏幕刷新率)。在 FRAPS 中可以看到我的目标的一个完美示例,当录制视频时,帧速率受限于录制速率。原因是快节奏游戏不是图形密集型的,以阻止由帧速率的大变化引起的“屏幕延迟”,但是 VSync 不适合,因为奇怪的是它增加了键盘/鼠标之间的延迟(两者都以高速率轮询所以不是硬件问题)。

理想情况下寻找 C/++ 中的一些建议,老实说不知道从哪里开始。

0 投票
1 回答
1161 浏览

apache-flex - 了解 Flex 应用程序和框架

出于好奇,我试图了解 Flex 应用程序使用的生命周期。

所以,我对这个论点做了一些研究;FlashPlayer 中使用的两个关键概念是:

  • SWF Frame:它是包含图形代码和as代码的逻辑单元
  • Flash Player Frame:Flash运行时更新屏幕的时间间隔,由frameRate属性定义

如果是这样,你能解释一下这两个概念之间的关系吗?特别是,它们是否配对在一起?

主要规则是:Flash Player 在 swf 中流式传输;在读取完整的 SWF 帧之前,Flash Player 无法呈现它。

我将尝试解释我需要理解的内容。为简单起见,假设您有一个两帧应用程序:SWF FR 1 和 SWF FR 2。

通常(例如在 CS4 中)一个框架被视为一个逻辑单元(由 ShowFrame 标记分隔),您可以在其中附加 as3 代码。这是一个 swf 文件的简化版本,我认为:

  • Header // 这里定义了 frameRate
  • 符号、类等... // 这是 FR1 === ShowFrame ===
  • 符号、类等… // 这是 FR2 === ShowFrame === End

如果您有两个帧,FR1 和 FR2,Flash 开始执行 FR1 并转到下一个 (FR2)。如果您不停止执行,Player 将通过无限循环执行并渲染包含在 FR1 和 FR2 中的代码。相反,当您停止执行时,例如在 FR2 中,flash 播放器会循环执行 FR2 中包含的代码。

那么,每个 SWF 帧可以多次播放 Flash Player 帧吗?

当 FR1 正在下载(FR1 未完全加载)时,是否有任何 enterFrame 事件?第一个 frameEvent 是否在 FR1 完全加载时发生?FR1 在什么时间段内渲染?另一种情况,如果您已将停止命令调用到 FR1 中,您将以您指定的速率获得 enterFrame(当前帧为 FR1)。同时FR2正在下载。完成后,您转到下一帧 (FR2)。FR2 在什么时间段内渲染?Flash Player 是否尝试将 FR2 渲染到其下一个时间间隔?

考虑这个简单的序列:

  1. FR1 正在下载
  2. FR1 已完全下载
  3. FR1调用stop()方法,同时FR2正在下载
  4. FR2 已完全下载
  5. 去FR2
  6. FR2 调用 stop() 方法
  7. 等等

当 Flash Player enterFrame 事件发生时,您能为我强调一下吗?

感谢您的时间。最好的问候, Flex_Addicted。

0 投票
1 回答
907 浏览

cocos2d-iphone - Cocos2d 在应用程序启动时给出随机 fps 下降?

我正在使用 cocos2d 开发一个 iphone 游戏并将其设置为显示 FPS。现在大多数情况下应用程序将以 60 fps 的速度启动和运行,但显然有时应用程序会随机启动并以 40 fps 的速度运行。

这种情况不会经常发生,而且似乎只有在您退出应用程序并尽快重新启动时才会发生,尽管这在大多数情况下都不会触发效果。但经过几次快速退出-重启序列后,游戏最终开始并且只有 40 fps 而不是正常的 60 fps。如果我此时退出应用程序并等待大约 3 秒,它将再次以正常的 60 fps 开始。

我假设这与应用程序在重新启动之前无法释放所有内存有关?这个问题似乎与 iPhone OS 有关。

重要的是要注意,如果我退出应用程序等待 5 秒并重新启动,这永远不会发生。以前有没有人遇到过这种问题?关于为什么会发生这种情况的任何想法?