3

Chrome 12 を使用すると、ゲームがスムーズに描画されます。しかし、描画に GPU を使用しているように見える Chrome 14 は、私のゲームのパフォーマンスに多大な悪影響を及ぼします。

正確にいつ発生するかを確認するために jsFiddle を作成しましたが、この単純なコードでは既に問題が発生しています: http://jsfiddle.net/eGjak/48/

  • Chrome 12 では、FPS は 62 で、これは私の画面周波数よりもさらに高くなっています。
  • Chrome 14 では、FPS は ~25 です。

25 FPS は十分許容範囲ですが、私のゲームではさらに多くの描画を行っており、8 FPS まで低下しています。これは絶対に許容範囲ではありません。パフォーマンスの問題は一度もありませんが、キャンバスの GPU の更新がボトルネックになっています。

  • GPU を使用すると、キャンバス上の単純な描画が非常に遅くなるのはなぜですか?
  • JavaScript を介して Chrome が GPU を使用するのを無効にすることはできますか? (または、これに対する別の解決策はありますか?)

編集: http://code.google.com/p/chromium/issues/detail?id=89540でバグを報告

4

2 に答える 2

2

Chrome 14 で問題なく 60fps を取得しています。

これは、Chrome 12 ではなく Chrome 14 でデフォルトでハードウェア アクセラレーションがオンになっているためであるとほぼ保証できます。具体的には、以前は発生しなかった垂直同期の待機です。

Chrome 14 以降では、(キャンバスの) GPU アクセラレータは、オンとオフを切り替えることができるフラグではなくなりました。これはデフォルトです。ごめん。

ただし、に移動すると、Chrome 14 で GPU Vsync を無効にすることができますchrome://flags/。これにより、ほぼ確実にフレーム数が増えます。

ただし、ユーザーに実行させることはできません。

于 2011-07-15T18:40:53.860 に答える
0

Chromium を14.0.831.0 build 93677( ではなく14.0.917.0 build 91952) インストールしたところ、問題なく動作しました。62 FPS 以下ではなく 60 FPS以下になりましたが、まあまあ...

主なポイントは、ナイトリー ビルドでは物事の行き来が速すぎるということだと思います。私のゲームは再び正常に動作しています (そして今日から、最新のナイトリー ビルドは新しい WebSocket プロトコルも使用しています)。

来週はまた遅くなるかもしれないので、あまり興奮しないことを願っていますが、様子を見ます。

于 2011-07-22T19:28:48.457 に答える