2017-03-14 55 views
2

我初始化我的Chromium瀏覽器這樣的:CefSharp - 無法啓用WebGL

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但無濟於事。它的確加載了網站,它說「我的瀏覽器支持webgl,但它沒有啓用。」我應該看到一個旋轉的方塊,我看不到。我尋找一些SO線程,其中一個抱怨速度,我從那裏複製初始化(只有命令行參數),仍然沒有運氣。我也嘗試添加之前關閉禁用命令這些喜歡

settings.CefCommandLineArgs.Add("disable-webgl", "0"); 

沒有成功。有人能告訴我如何正確初始化CefSharp 55的webgl嗎?

+1

WPF或Winforms控件? WPF有很多問題,我最終使用WinFormsHost在WPF中託管控件。只有那時我纔有全面的觸控支持和GPU加速,確實是在PeuczyńskiWPF控制下的 –

+0

。你如何處理WinFormsHost? – agiro

+0

對不起,延遲。我是afk。我在MainWindow中有WinformsHost,並且我這樣做http://pastebin.com/5PKcXCWh如果需要,我可以上傳完整的解決方案 –

回答

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 
}