HTML5 では Machine Independent Speed オプションは無効


CF25 は基本的にフレームベース( FB )でゲーム作っているわけだが、ハードウェアの制約が大きいモバイルでは高フレームレートで動作を安定させること自体、困難な場合が多い。

PC だと「 Machine Independent Speed 」というプロパティオプションを使う場合もあるけど HTML5 ではこのプロパティ設定自体が機能しない。だけどオプションは表示されてる。これについては将来的にエクスポータからみた場合プロパティ設定が Disable になる可能性について言及されていた。

html5_machine_independent_speed

モバイルなら例えば 60 FPS とかにこだわらないでもっと FPS を落としたほうがいいわけで、タイムベース(TB)なら FPS 可変でも動作対応が簡単にできるけど、FB だと FPS が安定しないこと自体プレイに大きな影響を与える仕様になっているので、FPS が安定しないのは避けたい、しかし避けられない。

スペックが足りなくて処理落ちするのはある意味必然なので、成功のコツは最初から過度な期待をしないことだろうと悟った。

HTML5 用のエクステを作る事自体はそれほど困難ではないので、重力操作部分をエクステで処理させるようにすればだいぶ処理も軽くできるはずだが、多数のスプライトを同時に動かした場合グラフィックス処理が Canvas2D では厳しい。

ペンタくんも HTML5 で動くようにイベントは互換性を持たせて標準機能だけで作ったけど、どう考えてもモバイルで 60 FPS 動作自体無理だ。だとしたら最初から 30 FPS でも動くように最初から作っておくべきだったし、最大互換性のことを深く考えずに 60 FPS で作り込むべきではなかった。

強く反省。


Leave a comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です