c# – Awesomium.NET重新调整大小 – 内存泄漏

前端之家收集整理的这篇文章主要介绍了c# – Awesomium.NET重新调整大小 – 内存泄漏前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
好吧,我注意到一个奇怪的错误.这在调整大小时会发生.

当我试图修复我的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

https://cefsharp.github.io/

猜你在找的C#相关文章