我正在初始化我的Chromium浏览器:
CefSettings settings = new CefSettings();
settings.CommandLineArgsDisabled = false;
settings.CefCommandLineArgs.Clear();
settings.CefCommandLineArgs.Add("enable-3d-apis", "1");
settings.CefCommandLineArgs.Add("enable-webgl-draft-extensions", "1");
settings.CefCommandLineArgs.Add("enable-gpu", "1");
settings.CefCommandLineArgs.Add("enable-webgl", "1");
Cef.Initialize(settings);
var chromeBrowser = new ChromiumWebBrowser();
chromeBrowser.Address = "http://get.webgl.org/";
targetGrid.Children.Add(chromeBrowser);
所以我尝试了很多here命令,但无济于事。它确实加载了网站并且它说'#34;我的浏览器确实支持webgl但它没有启用。"我应该看到一个旋转的立方体,我不会看到它。我找了一些关于这个的SO线程,其中一个抱怨速度,我从那里复制初始化(只有命令行args),仍然没有运气。我还尝试在添加这些命令之前关闭禁用命令,如
settings.CefCommandLineArgs.Add("disable-webgl", "0");
没有成功。有人能告诉我如何正确初始化CefSharp 55的webgl吗?
答案 0 :(得分:1)
WPF有很多问题,我最终使用WinFormsHost在WPF中托管控件。只有这样,我才能获得全面的触控支持和GPU加速。
我是这样做的。
private CefSharp.WinForms.ChromiumWebBrowser wb_Main;
public MainWindow()
{
var cs = new CefSharp.CefSettings();
cs.UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0";
CefSharp.Cef.Initialize(cs);
InitializeComponent();
CefSharp.Cef.GetGlobalCookieManager().SetStoragePath(Directory.GetCurrentDirectory(), true);
wb_Main = new ChromiumWebBrowser("about:blank");
wfh_Main.Child = wb_Main; //WinformsHost control
}