我已经成功地在c# winforms中制作了一个个人迷你浏览器应用程序。因为我想要一些更花哨的效果,我正在考虑做一个WPF应用程序。因此,我尝试了wiki教程,并使用浏览器设置了一个简单的WPF表单,但注意到它的性能很慢。在非常简单的网页中选择文本时,或者只是在滚动页面时,这一点甚至很明显。有什么可以做的吗?如果不是,我猜它将只是winforms,因为它的行为和性能都很好。
发布于 2017-03-02 16:08:16
cefsharp的WPF版本使用与WinForms不同的渲染模型。在WPF中,它基本上是将每一帧复制到位图中,你可以想象它会变得多么慢。这一点在高分辨率屏幕上尤其明显。有一些选项可以提高性能(例如,请参阅here ),但根据我的经验(我尝试了所有这些选项),它们都不能真正与WinForms相匹敌。为了在我的WPF项目中流畅地运行cefsharp,我实际上必须使用cefsharp的WinForms版本并将其托管在WindowsFormsHost
中-这有助于解决性能问题,但当然也有它的注意事项(例如,您不能部分地将WinForms托管控件隐藏在WPF控件后面-它将始终呈现在所有控件之上)。尽管如此,我仍然认为这是唯一可行的选择,因为高分辨率屏幕现在已经相当宽屏了。
发布于 2017-06-13 16:26:07
这将禁用WebGL,请查看源代码以确定哪些标志最适合您的要求。"grMain“是Wpf中的一个网格
CefSettings s = new CefSettings();
s.SetOffScreenRenderingBestPerformanceArgs();
Cef.Initialize(s);
ChromiumWebBrowser wbMain = new ChromiumWebBrowser();
grMain.Children.Add(wbMain);
https://stackoverflow.com/questions/42549349
复制相似问题