Rank: Advanced Member Groups: Member
Joined: 1/15/2015 Posts: 48
|
Hello, On version 19.2.91 and the latest 20.0.53 EO.WebBrowser.WinForms we are facing Child Process Out Of Memory issues that our users have started to report with more frequency, and we would like to understand why. We know that it is mainly triggered by a large number of images that are sometimes displayed at once in our web app, and we are making changes to reduce our memory footprint. We also know we can enabled LargeAddressSpace and or EOWP which does help the situation.
However, in our investigation we found that there is a very large difference between Windows 7 and Windows 10. The issue is being reported mostly by Windows 7 users. We think that something more is going on and want to bring it to your attention and get more info because it seems the memory limit on Windows 7 32bit is much lower (or more memory is used by EO in Windows 7).
With a controlled test web page, we found that on Windows 7 EO.WebBrowser runs out of memory much sooner compared to Windows 10. There is an alarmingly large difference. When running on Windows 10 we can load twice as many images than on Windows 7, both with LargeAddressSpace and EOWP false.
The weird thing is that the JavaScript heap size is roughly the same for both before crashing (using Dev Tools -> Memory). The Task Manager shows roughly the same size for both too. And we really are not loading a whole lot of images really. What is the best way to measure the amount of RAM used total out of the 2GB limit?
The only difference is the amount of system memory, we haven't tested on two machines with the same amount of system memory yet. Can that be a factor?
We also noticed the EO.Base.Runtime.Exception is fired twice, and there is no stack trace or inner exception, they are both null. There is only an ErrorException object with a simple message.
I have a en exception dump if you would like to see it. Any info is appreciated, thank you.
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,218
|
Hi,
Chromium browser engine's memory management is extremely complex. It is not something we would want to change/tweak about. In your case we can only think that Windows 10 has improved it's memory management on fragmentation. The most common cause for an out of memory error is not really because it is truely out of memory, but because the memory space are so fragmented that there isn't a continuous block that's big enough. This problem often surface when working with images because the allocation chunk are large comparing with other kind of allocations. Windows 10 probably smarter in keeping the allocation blocks adjacent to each other thus make it more likely to have large continuous area available.
Thanks
|