2013-09-20 117 views
2

Xilium.CefGlue提供了一些用於在Chromium Embedded Framework容器中顯示網頁的示例項目。爲什麼Xilium.CefGlue WPF示例如此緩慢地加載頁面?

樣品WPF應用程序,CefGlue.Samples.WpfOsr,加載網頁的非常慢。您可以在調試窗口中看到,讀取頁面資源(html,css,javscript)的進度非常緩慢 - 比在瀏覽器中加載同一頁面的速度要慢一個數量級以上(例如,我的頁面大約需要10秒鐘,包括jquery & angularjs)。

在另一方面,樣品Windows窗體應用程序,CefGlue.Client,並不表明同樣的問題。

爲什麼WPF示例如此緩慢,是WPF使用CEF的問題,特別是Xilium的CefGlue.WPF還是可以修復的問題?

回答

5

減速是由使用比Windows窗體示例更詳細的日誌記錄設置的WPF示例引起的。

CefGlue.Samples.WpfOsr/Program.cs的 45行看起來是這樣的:

LogSeverity = CefLogSeverity.Verbose, 

您可以將其更改爲較不頻繁的日誌記錄級別,例如加快頁面加載性能

LogSeverity = CefLogSeverity.Warning, 
+1

使用版本CEF構建。登錄CEF不會顯着改變頁面加載的速度。 – fddima

+1

感謝您的建議@fddima。我不能評論爲什麼日誌記錄設置對事物影響如此之大(我不知道爲什麼) - 實際上,我所經歷的是**不合理**緩慢;但我嘗試的第一件事是發佈版本(使用Xilium二進制文件中的Release libcef.dll),而且如上所述,它仍然很慢。 – Daryn

+0

也許新版本比以前執行更多日誌記錄。但我有什麼辦法沒有看到'默認'設置的性能差異。所以這很奇怪。感謝任何方式的問題。 – fddima

3

WPF示例使用離屏渲染技術。但我認爲,您正在使用調試CEF構建,其中包含大量斷言。只需使用發佈CEF構建。代理解析也可能存在一些問題。或者你做錯了什麼。對我來說,即使在沒有頂級硬件的虛擬機內部也是如此。