CefSharp Chromiumbrowser 在加载 html 文件时冻结

CefSharp Chromiumbrowser freeze while loading html file

您好,我正在将一个项目从 CefSharp 73 更新到 91。 我的其中一种方法有问题:

Protected Overridable Sub ShowReport(ByVal sender As System.Object, ByVal e As System.EventArgs)

    SuspendLayout()
    Controls.Clear()

    'Show loading spinner

    webBrowserChromium = New ChromiumWebBrowser(GetSpinnerPath()) <--- loading spinner

    webBrowserChromium.Dock = DockStyle.Fill
    Controls.Add(webBrowserChromium)

    ResumeLayout()
    Dim rmsController As BSRptViewerRMSController
    rmsController = CType(BSMySnapInControl.Controller, BSRptViewerRMSController)

    Dim report = rmsController.GetReport()
    webBrowserChromium.Load(GetRmsTempFilePath()) <--- load pdf here
    webBrowserChromium.DownloadHandler = New DownloadHandler()

End Sub

此方法应使用微调器加载 html 文件,并在 pdf 文件准备就绪后加载 pdf 这里方法负责微调 url:

Private Function GetSpinnerPath() As String

    Dim exePath = AppDomain.CurrentDomain.BaseDirectory
    Dim temp = exePath.LastIndexOf("\bin")
    Dim targetPath = exePath.Substring(0, temp) + "\common\" + "waitSpinner.html"

    Return targetPath
End Function

这在 73 中有效。更新后我收到的只是空白屏幕。什么都不显示。 PDF 文件已创建,因此它看起来像是在加载 pdf 时冻结。

如果我删除微调器并添加如下行: webBrowserChromium = New ChromiumWebBrowser("https://www.google.com")

然后将显示 pdf 但 google 不会。

有人知道我该怎么做吗? 在 cefsharp 日志中,我看到这样的错误:

我 添加了禁用 gpu 加速的配置:

var settings = new CefSettings();
settings.CefCommandLineArgs.Add("disable-gpu"); // Disable GPU acceleration
settings.CefCommandLineArgs.Add("disable-gpu-vsync"); //Disable GPU vsync

Cef.Initialize(settings);

并将浏览器声明移到 suspendlayout()resumelayout()

之外

在微调器显示之后!