2017-04-12 9 views
1

私はCEF4Delphiを使用して、Delphi XE 10.1アプリケーションにCEF/Chromiumを埋め込みました。現在CEF Version 3.2987.1597.gffc5773(Chromium Version 57.0.2987.110)、32ビットです。CEF/ChromiumレンダリングプロセスのCPU使用率

通常、Windowsタスクマネージャは、ユーザーがブラウズしていないときにCPU使用率が0%のままでいることがわかりますが、レンダリングプロセスが停止して取得できるCPUをすべて取得することがあります(100% 1つのCPU、全部で16%)、ユーザーが何もせずにブラウザウィンドウが表示されていない場合でも、私がプロセスを終了するまで固まったままになっているように見える場合、数時間が観察されています。私は冗長なロギングを有効にしていますが、ユーザーが何もしていない限り、何も記録されません。私は起動時とユーザーが積極的に閲覧しているときに多くのログを取得します。

これを解決するためのヒントを教えてください。私はターミナルサーバー上でこの問題を見るだけで、devマシンまたはTSのいずれかで動作を再現することができませんでした。前回私がこの動作を見たのは、アプリケーションの起動後約2時間でした。

助けてください。

おかげで、 Sjur

+0

ウィンドウが最小化されると、アップストリームcefclientはトリックを行い、ブラウザのウィンドウサイズを0x0に設定してリソース使用率を減らします。おそらく、これはここでサンプルコードを見るのに役立つかもしれません:https://github.com/cztomczak/phpdesktop/issues/179 –

+0

ありがとう、私はこれを試しましたが、ウィンドウサイズは効果がありません。それでも100%CPUで動作します。私はdevのマシン上で問題を再現しましたが、問題を特定できません。 – sjur

答えて

-1

後半に答えて申し訳ありません。

アプリを終了し、キャッシュとCookieのディレクトリをクリアします。

+0

ありがとうございますが、私のユーザーは何の問題も経験していないので、アプリがぶら下がっているだけです。私が現在行っていることは、すべてのレンダリングプロセスのCPU使用率を監視し、ブラウザウィンドウが隠された後にCPU使用率が高いものを終了させることです。再度表示されると、refresh()が呼び出され、メインのクロムプロセスが新しいレンダリングプロセスを開始します。これはうまくいくようですが、より良い解決策があるはずです... – sjur