微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

cocos2d-iphone – 为什么cocos2d中只有60 fps真的流畅?

它可能以前被问过,但我无法在任何地方找到它……

在视频领域,24 fps以及其他任何内容都很流畅. Cocos2d似乎是
只有当它的60 fps或者更低时才能平滑.之间的任何事情
30和50肯定不流畅,fps计数器看起来不准确……

为什么是这样?或者只有我这种情况?

这种行为实际上有几个原因,它不仅仅是cocos2d,而是在启用了 vertical synchronization(VSYNC)的环境中的任何游戏引擎中都能看到的效果.在iOS上,VSYNC始终处于打开状态,在PC上,如果它们始终低于显示器的速率( screen tearing),则通常可以选择将其关闭以提高帧速率.通常,像iOS设备这样的LCD会以60 Hz的频率更新其显示器,从而实现最大化60 fps.

Cocos2D 1.x认使用CADisplayLink类进行更新,Cocos2D 2.x仅使用CAdisplayLink. CAdisplayLink使更新与屏幕刷新率同步.表示在屏幕完成绘制其内容后发送通知.

当你获得60 fps时,一切都很好.但是如果游戏无法及时渲染帧以渲染60 fps,则只有在下一次屏幕刷新完成后才会收到下一次更新.一旦帧速率下降到60 fps以下,这就有效地将帧速率减半 – 或者换句话说,只要你的更新速度低于60 fps.渲染周期需要超过16.666毫秒才能完成.这意味着在iOS上使用CAdisplayLink更新时,您只能拥有60,30,20和15 fps(60除以1,2,3和4)的离散帧速率.

效果非常明显,因为帧速率在60,20和15 fps之间波动 – 即使只是几分之一秒 – 也不会感觉光滑,主要是因为它非常不稳定 – 不稳定是我们注意到的“不光滑” ”.如果您的游戏受此影响,您可能会发现将帧速率限制为30 fps实际上会使游戏显得更加流畅.您还有更多时间来更新&渲染帧之间的东西.

这是24 fps电影帧速率的稳定性被设想为“流畅”,但电影导演也学会了避免有限帧率变得非常明显的场景.例如,他们经常避免游戏经常发生的事情:侧向滚动,即相机的侧向移动或通过相机的物体的侧向移动.

当你观看霍比特人时,你会惊讶地发现电影的平滑程度是多少 – 这是第一部以48 fps运行的大片.你会立即注意到电影中的角色有多“真实”和“逼真”.要获得一个印象,请查看此unofficial 48 fps The Hobbit trailer.

cocos2d显示为fps并不能准确表示从60到30到20和15 fps的切换,而是几帧的平均帧速率.因此,当cocos2d打印“45 fps”时,它意味着游戏显示30 fps的一半时间,另一半则是过去几帧的60 fps.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


    本文实践自 RayWenderlich、Ali Hafizji 的文章《How To Create Dynamic Textures with CCRenderTexture in Cocos2D 2.X》,文中使用Cocos2D,我在这里使用Cocos2D-x 2.1.4进行学习和移植。在这篇文章,将会学习到如何创建实时纹理、如何用Gimp创建无缝拼接纹
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@163.com微信公众号:HopToad 欢迎转载,转载标注出处:http://blog.csdn.netotbaron/article/details/424343991.  软件准备 下载地址:http://cn.cocos2d-x.org/download 2.  简介2.1         引用C
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从Cocos2D-x官网上下载,进入网页http://www.cocos2d-x.org/download,点击Cocos2d-x以下的Download  v3.0,保存到自定义的文件夹2:从python官网上下载。进入网页https://www.python.org/downloads/,我当前下载的是3.4.0(当前最新
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发引擎,易学易用,支持多种智能移动平台。官网地址:http://cocos2d-x.org/当前版本:2.0    有很多的学习资料,在这里我只做为自己的笔记记录下来,错误之处还请指出。在VisualStudio2008平台的编译:1.下载当前稳
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《最强大脑》娱乐节目。将2048改造成一款挑战玩家对数字记忆的小游戏。邮箱:appdevzw@163.com微信公众号:HopToadAPK下载地址:http://download.csdn.net/detailotbaron/8446223源码下载地址:http://download.csdn.net/
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试以QtCreatorIDE来进行CMake构建。Cocos2d-x3.X地址:https://github.com/cocos2d/cocos2d-x1.打开QtCreator,菜单栏→"打开文件或项目...",打开cocos2d-x目录下的CMakeLists.txt文件;2.弹出CMake向导,如下图所示:设置
 下载地址:链接:https://pan.baidu.com/s/1IkQsMU6NoERAAQLcCUMcXQ提取码:p1pb下载完成后,解压进入build目录使用vs2013打开工程设置平台工具集,打开设置界面设置: 点击开始编译等待编译结束编译成功在build文件下会出现一个新文件夹Debug.win32,里面就是编译
分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net前言上次用象棋演示了cocos2dx的基本用法,但是对cocos2dx并没有作深入的讨论,这次以超级马里奥的源代码为线索,我们一起来学习超级马里奥的实
1. 圆形音量button事实上作者的本意应该是叫做“电位计button”。可是我觉得它和我们的圆形音量button非常像,所以就这么叫它吧~先看效果:好了,不多解释,本篇到此为止。(旁白: 噗。就这样结束了?)啊才怪~我们来看看代码:[cpp] viewplaincopyprint?CCContro
原文链接:http://www.cnblogs.com/physwf/archive/2013/04/26/3043912.html为了进一步深入学习贯彻Cocos2d,我们将自己写一个场景类,但我们不会走的太远,凡是都要循序渐进,哪怕只前进一点点,那也至少是前进了,总比贪多嚼不烂一头雾水的好。在上一节中我们建