好吧,我注意到一个奇怪的错误.这在调整大小时会发生.
当我试图修复我的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 height) at Awesomium.Core.Surface.InitializeDirector(IWebView view,Int32 height) at Awesomium.Core.Surface..ctor(IWebView view,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
在我看来,这里有一些meory泄漏.
在2 GB的浪费Ram之后,它会崩溃.
尝试使用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上下起伏
反正调整时是否有防止渲染的问题?
解决方法
认为只有在控件完全初始化并显示后才能调整大小.恕我直言的位图
at System.Windows.Media.Imaging.WriteableBitmap..ctor(Int32 pixelWidth,BitmapPalette palette)
是零大小或无效.
我过去使用过Awesomium,我的建议是迁移到CefSharp