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()
之外
在微调器显示之后!
您好,我正在将一个项目从 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()
在微调器显示之后!