我注意到一个奇怪的错误。这会在调整大小时发生。
我在尝试修复xaml路线时首先注意到了它。当我尝试 在我的2个屏幕上调整窗口大小,awesomium内容开始闪烁,突然内容消失,带有徽标的红屏出现,在vshost32.exe之后缩短 坠毁。
我想好了..好吧它可能有一些宽度限制所以我限制了主屏幕宽度上窗口的MaxWidth。当我试图水平调整它时,我注意到了一些闪烁,但这就是全部,但是当我发送垃圾邮件大小并改变高度和宽度很多时,同样的问题出现在maxheight 1080和max width 1920.
Edit2 其他信息: 我在同一个XAML上有2个WebControl。 当我添加多个,并调整大小... 它撞到了第一秒。
修改(1)
[1123/013232:INFO:(0)] WebCore is now online.
[1123/013232:INFO:(0)] Running Awesomium 1.7.5.1
[1123/013247:WARNING:Awesomium.NET(0)] System.OutOfMemoryException: Insufficient memory to continue the execution of the program.
at System.Windows.Media.Imaging.WriteableBitmap..ctor(Int32 pixelWidth, Int32 pixelHeight, Double dpiX, Double dpiY, PixelFormat pixelFormat, BitmapPalette palette)
at Awesomium.Windows.Controls.WebViewPresenter.Awesomium.Core.ISurface.Initialize(IWebView view, Int32 width, Int32 height)
at Awesomium.Core.Surface.oQVs2ZKQlyYpFHm4aaM(Object , Object , Int32 width, Int32 height)
at Awesomium.Core.Surface.InitializeDirector(IWebView view, Int32 width, Int32 height)
at Awesomium.Core.Surface..ctor(IWebView view, Int32 width, Int32 height, ISurface surfaceImpl)
at Awesomium.Core.SurfaceFactory.Nu5RdsobJP(IntPtr , Int32 , Int32 )
at Awesomium.Core.NativeMethods.WebCore_Update(HandleRef jarg1)
at Awesomium.Core.WebCore.UpdateThunk()
[1123/013247:ERROR:ipc_channel_win.cc(261)] pipe error: 109
在我看来,这里有一些细微的泄漏。
在2 GB的浪费拉姆之后,它会崩溃。
尝试使用8.5 GB的Ram,升至10.5然后坠毁。
我已经做了一些测试,以便找到导致此错误的原因。 我创建了一个循环,它将以每50毫秒2个宽度和高度调整窗口大小
public async void testc() {
for (int i = 0; i <= 1000; i++)
{
this.Width = 1700 + i % 2;
this.Height = 950 + i % 2;
await Task.Delay(50);
}
}
它按预期再次崩溃,但有趣的是,当我在循环中附加
WebControl.Reload(true);
它实际上并没有崩溃......内存从350 MB上升和下降
无论如何都要在调整大小时阻止渲染?
答案 0 :(得分:0)
认为只有在控件完全初始化并显示后才能调整大小。恕我直言位图
at System.Windows.Media.Imaging.WriteableBitmap..ctor(Int32 pixelWidth, Int32 pixelHeight, Double dpiX, Double dpiY, PixelFormat pixelFormat, BitmapPalette palette)
是零大小或无效。
我过去使用过Awesomium,我的建议是迁移到CefSharp