CefSharp 白屏问题
现象
我正在使用 cefsharp + winform 建立一个桌面程序用于显示网页。使用过程中程序会突然白屏,经过观察发现,在网页显示GIF动图时,浏览器子程序会突然占用较高内存(从80M上升到400M左右)。白屏也是出现在这些显示GIF的页面时。
初步怀疑是内存占用过高,导致某个进程崩溃
一顿搜索操作,找到两个可能可行的方案:
1. 提高js的最大内存空间(实测无效)
由于x86程序不能大于等于4096M,尝试设置到4000M,依然出现问题
//修改cef参数
setting.CefCommandLineArgs.Add("--js-flags", "--max_old_space_size=2048");
2. 禁用屏外渲染最佳性能(有效)
禁用后,显示GIF时不会再出现内存突然上升,目前也没有出现白屏
https://github.com/cefsharp/CefSharp/issues/2811
//修改cef参数
setting.SetOffScreenRenderingBestPerformanceArgs();