web-dev-qa-db-ja.com

Google ChromeのCPU使用量を減らすには?

私は数日前にしたクリーンインストールでWindows 7(最新のものすべて)でGoogle Chrome(最新のもの)を使い始めました、そしてFirefoxと比較して私は開くとき巨大なCPUスパイク(最大100%CPU使用率)を見ます空のタブ。ネットワークの予測などの機能を無効にしないようにしました。

ChromeのCPU使用量を減らす方法はありますか?

これは私が気にすることに気づいた気づいた1つの奇妙なことです:私がいくつかの新しいウィンドウを開くために上部のプラスボタンをクリックするとき私がYouTubeビデオ/オーディオ(フラッシュバージョンとHTML5バージョンの両方)をしているとき遅れるオーディオ。 Firefoxを使用しているとき、私は似たようなことは何も経験しません。最も不思議なことは、私が別のChromeプロファイルまたはプライベートブラウジングで新しいページを開いたときにも発生しないことです。なぜこれが起こっているのですか?これらのページは別々のプロセスで保存されるべきではありませんか?別のプロファイルと同じプロファイルでそれらを開くことの違いは何ですか?

47
Jane Johnson

まず、それが拡張機能やプラグイン、あるいはサイトで使用されているバックグラウンドワーカーではないかどうかを確認します(Chromeタスクマネージャを開くには、Shift + Escキーまたはメニュー→その他のツール→タスクマネージャを押します)。

そうでない場合、私の推測はこれがハードウェアアクセラレーションに関連しているということです。しかし、私は何年もこの原因を見たことがないことに注意してください。間違いなくWindows 8以降です。

まず、メイン設定ページの下部にあるハードウェアアクセラレータをオフにします(chrome://settingsの下部にある詳細設定の表示...、最後までスクロールし、チェックを外します可能であればアクセラレーション)。最近のChromeバージョンでは再起動が求められますが、私の経験ではこのオプションは少なくとも部分的にはすぐに適用されます。

Chromeの再起動後もスローダウンが解消されない場合は、chrome://flagsを開き(Chromeのアドレスバーに入力してEnterキーを押します)、次のように設定します。

  • 高速2Dキャンバスを無効にする - 無効にする
  • GPUラスタライズ - 無効にする
  • ハードウェアアクセラレータによるビデオデコード - 無効にする
  • ゼロコピーラスタライザ - 無効

(これはChrome 53.0.2785.89のためのもので、Chromeがアップデートされない古いシステムでは他のオプションが利用可能かもしれません。例えば:

  • DirectWriteを無効にする - 有効にする
  • 1コピーラスタライザを有効にする - 無効
  • ゼロコピーラスタライザを有効にする - 無効にする
  • ハードウェアアクセラレータによるビデオデコードを無効にする - 有効にする

次に、ウィンドウの下部にある今すぐ再起動をクリックします。

すべてがうまくいくようになると(しかし全体的には少し遅くなるかもしれませんが)、問題の原因となるオプションが見つかるまで、オプションを1つずつデフォルトに戻すことができます。

(フラグリストにオプションが見つからない場合は、スキップしてください。おそらくGPUおよびハードウェアアクセラレーションに関する他のオプションも調べて、HWアクセラレーションとGPUの使用が無効になっていることを確認してください。)ほぼ各バージョンで)。

質問に対する回答:

ChromeのCPU使用量を減らす方法はありますか?

これらのピークがネイティブのクロムエンジン(JavaScriptやHTMLパーサーなど)によるものであれば、そうではありません。しかし、おそらくこれは拡張機能やバグのあるビデオドライバです(それらの機能はハードウェアアクセラレーションに使用されています)。

上部のプラスボタンをクリックしていくつかの新しいウィンドウを開くと、ビデオ/オーディオが遅れます。 <…>なぜこれが起こっているのか、何か考えはありますか?

推測だけです。 Extensionかpluginのどちらかがこれを引き起こすかもしれません、あるいは、合成ウィンドウに別の層を追加することはビデオドライバラグを引き起こします(いくつかの層を持つ合成ウィンドウ、そしてそれらのいくつかはハードウェア、例えばハードウェアビデオデコーディングによってレンダリングされます)。これが、ハードウェアアクセラレーションをオフにしてチェックすることを提案した理由です。

これらのページは別々のプロセスで保存されるべきではありませんか?

それらは実際に保存されていますが、ウィンドウに情報を出力するメインプロファイルが(プロファイルごとに)1つあります。このプロセスが何らかの理由で停止すると、ウィンドウの更新が停止し、Chromeが応答していないように見えます。私は、サウンド出力もそのメインプロセスを介して行われていると思いますが、これもサウンドが遅れる理由です。

プロセスツリーは プロセスエクスプローラ で確認できます。

別のプロファイルと同じプロファイルでそれらを開くことの違いは何ですか?

シークレットモードでは、フラグ、拡張機能、プラグインの設定はプロファイルごとになり、拡張機能はデフォルトでオフになります。そのため、プロファイルが異なれば(単一のメインクロムプロセスでも)動作が異なる場合があります。

47
LogicDaemon

私がいくつかのサイトから学んだトリック。

  • Chromeのコマンドラインで–-purge-memory-buttonを使用してクリック Purge memory Chromeのタスクマネージャで、それはメモリを解放します(可能であれば)

明らかに、単に拡張機能を無効にするだけでメモリを節約できます。

また、一部のサイトでは FooTab と記載されていますが、これは起動時にロードされるまで他のすべてのタブを一時停止する拡張機能です。

1
boxspah

Google Chromeをリセットします。

  1. ツールバーのChromeメニューをクリックして、[設定]をクリックします。

  2. ページ下部から[詳細設定を表示]を選択し、[ブラウザ設定のリセット]をクリックします。

  3. ブラウザの設定をデフォルトに戻すには、[リセット]をクリックします。

1
tayyab islam

chrome://flagsを開いてdelegated rendererを検索し、フラグを有効にしてデリゲートレンダラー、別名Übercompositorを有効にできるかどうかを確認します。また、これはGPUに依存しているため、高速のレンダリングを有効にしたことを確認する必要があります。これはchrome://gpuのURLで確認できます。

これはレンダリングプロセスに合成ステップをスキップさせ、高レベルの描画コマンドをブラウザプロセスに送信して、それを独自の合成パスとマージすることです。これはGPUの充填率を下げ、消費電力を減らすのに役立ちます。

0
HarvesterX