Tôi đã nhận thấy một lỗi lạ. Điều này xảy ra khi thay đổi kích thước.Awesomium.NET Crashing on Resize - Rò rỉ bộ nhớ
Lần đầu tiên tôi nhận thấy điều đó trong khi tôi đang cố sửa các sắp xếp xaml của mình. Khi tôi cố gắng để thay đổi kích thước cửa sổ trên 2 màn hình của tôi, nội dung awesomium bắt đầu nhấp nháy và đột nhiên nội dung bị biến mất và màn hình đỏ có biểu tượng xuất hiện, ngắn sau khi vshost32.exe bị lỗi.
Tôi nghĩ tốt .. ok nó có thể có một số giới hạn chiều rộng vì vậy tôi giới hạn MaxWidth của cửa sổ trên màn hình chính của chiều rộng. Tôi nhận thấy một số flickerings là tốt trong khi tôi đang cố gắng để thay đổi kích thước theo chiều ngang, nhưng đó là tất cả, tuy nhiên khi tôi spam thay đổi kích thước và thay đổi nhiều lần chiều cao và chiều rộng cùng một vấn đề xảy ra trên maxheight 1080 và chiều rộng tối đa 1920.
Chỉnh sửa2 Thông tin bổ sung: Tôi có 2 WebControls trên cùng một XAML. Khi tôi thêm nhiều, và thay đổi kích thước ... nó đã bị hỏng trong giây đầu tiên.
Chỉnh sửa (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
Dường như với tôi rằng có một số rò rỉ meory đây.
Sau 2 GB Ram bị lãng phí, nó sẽ bị lỗi.
Đã thử dùng 8,5 GB Ram đã sử dụng, tăng lên 10,5 và sau đó bị rơi.
Tôi đã thực hiện một số thử nghiệm để tìm ra nguyên nhân gây ra lỗi này. Tôi tạo ra một vòng lặp rằng nó sẽ thay đổi kích thước cửa sổ ở 2 chiều rộng và chiều cao mỗi 50 ms
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);
}
}
nó bị rơi một lần nữa như mong đợi, thú vị là mặc dù, rằng khi tôi gắn vào vòng
WebControl.Reload(true);
nó thực sự đã không bị hỏng ... Bộ nhớ đang tăng lên từ 350 MBs
Có cách nào để ngăn hiển thị trong khi thay đổi kích thước?
Có vẻ như một lỗi trong Awesomium. Tôi muốn tạo ra một ví dụ rất tối thiểu là repro của vấn đề và gửi nó đến trình theo dõi lỗi của họ. –
Dường như Awesomium đã bị bỏ hoang trong một năm nay. – Devian
Cộng đồng tại http://answers.awesomium.com/ có vẻ như nó sôi động. Tôi sẽ thử đăng ở đó. Có vẻ như phiên bản cũ hơn của công cụ Stack Overflow. –