これまでに聞いたことがあるかもしれませんが、どこにも見つからないかもしれません...cocos2dで60fpsしか本当に滑らかなのはなぜですか?
ビデオでは、24fps以上のものは滑らかです。 Cocos2dは のように見えますが、その60 fpsまたはそれ以下の場合にのみ滑らかです。 30と50の間のものは確かに滑らかではなく、fpsカウンタは正確ではないようです...
これはなぜですか?それとも私はこの状況を抱えているのですか?
これまでに聞いたことがあるかもしれませんが、どこにも見つからないかもしれません...cocos2dで60fpsしか本当に滑らかなのはなぜですか?
ビデオでは、24fps以上のものは滑らかです。 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により、画面のリフレッシュレートに合わせて更新が同期されます。画面のコンテンツの描画が完了すると、通知が送信されます。
60fpsを取得するとすべて正常です。しかし、60fpsのレンダリングに間に合うようにフレームをレンダリングすることができない場合、次の画面の更新が完了した後でのみ、次回の更新を受信します。これにより、フレームレートが60fpsを少し下回るとすぐに、つまり、更新の&レンダリングサイクルが完了するまでに16.666ミリ秒より長くかかるとすぐに、フレームレートが効果的に半分になります。つまり、CADisplayLinkのアップデートでは、60,30,20および15fps(60を1,2,3および4で割った値)の個別フレームレートしかiOS上に配置できません。
60,30,20および15fpsの間で変動するフレームレート - ほんの数秒間でさえも - は主に非常に不安定であるために滑らかではありません - 不安定さは我々が気づいているものです「滑らかでない」と表現する。ゲームがこの影響を受ける場合、フレームレートを30 fpsに制限すると、実際にはゲームがスムーズに見えることがあります。また、フレーム間で&のレンダー情報を更新する時間があります。
「スムーズ」と考えられているのは24フレーム/秒の映画フレームレートの安定性ですが、映画監督も限られたフレームレートがあまりにも明白になるシーンを避けることを学んでいます。例えば、彼らはゲームが非常に頻繁に行う地獄を避けます:横にスクロールする、すなわちカメラの横方向の動き、またはカメラを通過する物体の横方向の動き。
「ホビット」を見るときに、どれくらい滑らかな映画ができるかは驚かれるでしょう。これは、48fpsで動作する最初のブロックバスター映画です。あなたはすぐに映画の中の文字がどれくらい "本当の"と "実在する"かを気づくでしょう。印象を受けるには、unofficial 48 fps The Hobbit trailerをチェックしてください。
fpsとして表示されるcocos2dは、60〜30〜20および15fpsのスイッチを正確に表現するのではなく、数フレームにわたる平均フレームレートを表します。したがって、cocos2dが "45 fps"をプリントすると、ゲームが30 fpsで表示された時間の半分を意味し、残りの半分は過去のカップルフレームで60 fpsで表示されます。
2つの主な問題。
最初はディスプレイのリフレッシュレートに一致しています。何か他のものは、目/脳が見た目には不規則な動きをします。少なくともその倍数であること。
第2はモーションブラーです。フィルム/ビデオは、モーションブラーを有する傾向があり、視聴者を連続的なモーションを見ることに欺く。
わかりました。しかし、デスクトップモニタには、しばしば60hzのリフレッシュレートがあります。私は50未満のfpsを持つデスクトップゲームで問題があることに気づくことはできません。おそらく私は間違っています...それはiPhoneの典型的なものですか? – yurki
デスクトップモニタは、通常、これより少し上回っています。いくつかのより安価なLCDディスプレイは少しぼやけています。そうでなければ特に特別なことはありません。 – JasonD
私は60Hzモニタでちらつきを感じています – user739711
いつものように、有用な情報の宝庫です。スティック。 – YvesLeBorg
あなたは忘れた20fps(60/3) – Sebastian
ああ、もちろん...更新 – LearnCocos2D