在高分辨率下, 如果設置了系統-顯示-縮放級別(例如設置為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");
}