CEF 设置:禁用 GPU 硬件加速

在高分辨率下, 如果设置了系统-显示-缩放级别(例如设置为200%缩放级别)的情况下, CEF 49版本(高版本未测试是否有这个问题)会出现黑边、黑屏的情况,

这时候需要禁用gpu加速,有两种方式,

第一种是在程序快捷方式中加command-line flag: --disable-gpu --disable-gpu-compositing, reference:https://bitbucket.org/chromiumembedded/cef/issues/1480/off-screen-rendering-problem-on-windows-7

clickonce发布的程序无法设置快捷方式,所以:

第二种:在代码中设置:

var settings = new CefSettings();

//NOTE: The following function will set all three params
//settings.SetOffScreenRenderingBestPerformanceArgs();
settings.CefCommandLineArgs.Add("disable-gpu", "1");
settings.CefCommandLineArgs.Add("disable-gpu-compositing", "1");
settings.CefCommandLineArgs.Add("enable-begin-frame-scheduling", "1");

settings.CefCommandLineArgs.Add("disable-gpu-vsync", "1"); //Disable Vsync

//Disables the DirectWrite font rendering system on windows.
//Possibly useful when experiencing blury fonts.
settings.CefCommandLineArgs.Add("disable-direct-write", "1");

if (!Cef.Initialize(settings, shutdownOnProcessExit: true, performDependencyCheck: true))
{
throw new Exception("Unable to Initialize Cef");
}

 

posted on 2018-04-07 22:20  lynnjeans  阅读(9314)  评论(0编辑  收藏  举报