2011-08-12 10 views
0

から起動する際の遅れを解決する方法について説明します。これは、私はいくつかのブラウザでは、ゲームは15fpsのように見えることに気付いています(ゲームは80fpsで動作するはずです)。これはIE9で起こることが知られており、クイックフィックスは、HTMLの先頭に次の行を追加しました:Actionscript3 /フラッシュCS4:私はブラウザ(光計算)でプレーして管理しなければなりませんフラッシュゲーム、上の月のために働いてきたブラウザ

<meta http-equiv="X-UA-Compatible" value="IE=9"> 

これは、(互換モードにIEを強制的応急処置だったと大幅にFPSを改善しました〜について... 60)。

まだ、私は、このゲームは、ブラウザよりも遅く動作していると考えています。これは、htmlバージョンをswfと比較すると明らかです。

これは、ゲーム内の動き(HTML)は「lurches」ということもかなり目立ちます:これらlurchesはゲームの美学を傷つけるので、演奏!

このすべてはブラウザがコンピュータのグラフィックスカードへのアクセスを制限することを信じるように私をリード。

1)それはswfファイル

2)でHTMLが遅く、かつ高速ですが、通常の速度での再生音を鳴らし、まだグラフィックスが遅れる

EDIT

3)ゲーム内のすべてのグラフィックスがありますかなり低い解像度(width1xheight1として表示されているグラフィックスはwidth1xheight1pngのムービークリップです)+最小限にしてください

4)私は非常に(計算上)簡単なフラッシュプロジェック同じグラフィック・ムーブメントの問題が発生しました。

は、誰も私に私がブラウザで私のゲームの滑らかさを向上させることができる方法についてのいくつかのアドバイスを与えることはできますか?

+1

超高速フレームレート(50fps以上)は実際には一部のブラウザではプレイヤーを遅くすることができると私は信じています。それを50未満に下げてみてください。 また、圧縮されたグラフィックスは、圧縮解除する必要があるため、スタッターを引き起こしている可能性があります。もしあなたがまだいないのであれば、オブジェクトプーリングを見たいかもしれません。メモリからたくさんのオブジェクトを解放した場合、ガベージコレクタがこれらの乱れを引き起こす可能性があるからです。 –

+0

"...高いフレームレート(50fps以上)..."私は今、ゲームを50fps未満に減速させ、80fpsの動きに合わせてゲームのすべての増分をカバーしましたバージョン。グラフィックスについての2番目の部分に:私は間違って言った!!圧縮されたグラフィックスを使うのは悪い考えだ!!!!私は言った:私のグラフィックオブジェクトで使用されるpngは同じ解像度である ガベージコレクタ(GC)へ:これは問題であると私は疑念を抱いていますが、GCはswfとhtmlの両方のバージョンで同じ動作をするべきではありませんか? –

+0

http:// www。 kaourantin.net/2006/05/frame-rates-in-flash-player.html –

答えて

1

これは、SWFがHTMLページに埋め込まれているかの症状である可能性があります。 Flashは、コンテンツをブラウザウィンドウにレンダリングする方法を決定するいくつかの「ウィンドウモード」をサポートしています。これは、SWFがHTMLページに埋め込まれている場合にwmodeパラメータで設定します。 - パスレンダリングに直接使用

ダイレクト:

Adobe's documentationによると、これは最高のパフォーマンスのために「直接」に設定する必要があります。これは 画面バッファに合成をバイパスして画面に直接SWFコンテンツをレンダリングします。 このwmode値は、 コンテンツ再生に最適なパフォーマンスを提供するために推奨され、Stage VideoまたはStage 3Dを使用するSWF コンテンツのハードウェアアクセラレーションプレゼンテーションを有効にします。それはdocumentationに記載された代替案を試すために役立つかもしれないので、

実際には、wmodeは、動作が異常なことができます。パフォーマンスの向上に役立つことがあり

その他のオプションは以下のとおりです。

  • 使用stage.scaleMode = StageScaleMode.NO_SCALE。これにより、埋め込みサイズが元のサイズと一致しない場合に、コンテンツのスケーリングが防止されます。スケーリングはCPU使用率に寄与し、無効にするとフレームレートが増加します(StageScaleMode#NO_SCALE参照)。
  • 不透明なムービークリップ(ルートMovieClipなど)にopaqueBackgroundを設定します。透明度には、前景色に背景色を掛けるために余分な計算が必要です。不透明な背景を設定すると、これらの追加の計算がバイパスされ、パフォーマンスが向上する可能性があります。 (DisplayObject#opaqueBackgroundを参照してください)
関連する問題