2013-09-20 72 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构建。代理解析也可能存在一些问题。或者你做错了什么。对我来说,即使在没有顶级硬件的虚拟机内部也是如此。