2017-04-12 385 views
1

我已經使用CEF4Delphi在我的Delphi XE 10.1應用程序中嵌入了CEF/Chromium。我目前在CEF版本3.2987.1597.gffc5773(Chromium版本57.0.2987.110),32位。CEF/Chromium渲染進程CPU使用率

在Windows任務管理器中,當客戶沒有瀏覽時,CPU通常處於0%的使用率,但可以看到渲染過程似乎卡住並抓住所有可以獲得的CPU(100%單個CPU,佔總數的16%,因爲我有6個可用),即使用戶什麼也不做,瀏覽器窗口不可見。當卡住時,它似乎仍然卡住,直到我結束這個過程,已經觀察了幾個小時。我已經打開了詳細的日誌記錄,但只要用戶沒有做任何事情就沒有記錄。在啓動時以及用戶正在進行瀏覽時,我確實獲得了大量日誌記錄。

有關如何解決此問題的任何提示?我只能在終端服務器上看到此問題,並且無法在開發機器或TS上自行重現此行爲。上次我看到這種行爲大約在應用程序啓動後兩個小時左右。

任何幫助表示讚賞。

感謝, Sjur

+0

當窗口最小化時,上游cefclient會執行一些操作,它會將瀏覽器窗口大小設置爲0x0以減少資源使用。也許這可以幫助你在這裏看到示例代碼:https://github.com/cztomczak/phpdesktop/issues/179 –

+0

謝謝,我試過這個,但窗口大小沒有影響。仍以100%的CPU運行。我不時在我的開發機器上重現這個問題,但現在仍無法找到問題所在。 – sjur

回答

-1

對不起,我遲到的答案。

關閉您的應用並清除緩存和Cookie目錄。

+0

謝謝,但我的用戶沒有遇到任何問題,所以他們只是離開應用程序掛起。我目前所做的是監視每個渲染進程的CPU使用情況,並在隱藏瀏覽器窗口後終止具有較高CPU使用率的進程。當再次使我可見時,我會刷新()並且主鉻進程啓動一個新的渲染進程。這似乎有效,但應該有更好的解決方案... – sjur