微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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/

原文地址:https://www.jb51.cc/csharp/99801.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐