Welcome Guest Search | Active Topics | Sign In | Register

Increase of memory consumption Options
Desenvolvimento
Posted: Friday, September 4, 2020 7:31:31 AM
Rank: Member
Groups: Member

Joined: 11/27/2018
Posts: 10
Hi!

I updated my EO.WebBrowser for WindowsForms 18.3.46.0 version to 20.1.45.0 and I noted a increasing of memory consuption.

The previous version used to run only one Windows Host Process(Rundll32) attached to my process around 80 MB of memory. And now, the current version runs 5 Windows Host Process(Rundll32) attached adding up 400 MB memory.

It initiliazes the runtime with these arguments:

Code: C#
Runtime.DefaultEngineOptions.CachePath = ConfigManager.BrowserCacheDirectory;
Runtime.DefaultEngineOptions.ExtraCommandLineArgs = "--in-process-gpu --instant-process --disable-gpu  --winhttp-proxy-resolver --disable-http2";


Considering we have a 2 years gap between the updates so I ask:
Is it right? Is there anything I can do to improve this?


Thanks
eo_support
Posted: Friday, September 4, 2020 8:49:05 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,217
Hi,

You should not add up all rundll32.exe's memory usage. See here for more details:

https://www.essentialobjects.com/forum/postst8270p2_RunDLL32-and-Memory-Footprint-of-EOWebBrowser.aspx#43275

We are not aware that V18 only has one rundll32.exe ---- it should have at least 3. Chromium has a multiple process architecture since very early and EO.WebBrowser inherits this multiple process architecture since the very beginning. Chromium does introduce more and more child processes over time as it tries to isolate different modules into separate processes for security reasons. However this in fact does not create significant overhead because the processes shares a lot of memories with each other.

Hope this helps.

Thanks!
Desenvolvimento
Posted: Tuesday, September 8, 2020 8:48:30 AM
Rank: Member
Groups: Member

Joined: 11/27/2018
Posts: 10
Hi!

So chrome's reputation about the memory is bullshit? Just kidding =)

Let me see if I got it right

When do you talk about read only memory sections, you mean private memory, shared memory and working set or you mean only private memory?

In the linked post, there is the 70M (50M + 20M) example. In this case, which one is this?

1) 70M (working set) = 50M (private memory) + 20M (shared memory)

or

2) working set = 70M (private memory) + shared memory

I gathered some info from Process Explorer by SysInternals that shows all these memory information separately

18.3.46.0

process | ws private| ws shareable| ws shared| working set|
rundll32 | 1168 K | 81508 K | 81508 K | 82700 K |
rundll32 | 74516 K | 31604 K | 31604 K | 106144 K |
rundll32 | 87360 K | 23872 K | 23872 K | 111256 K |

20.1.45.0

process | ws private| ws shareable| ws shared| working set|
rundll32 | 1572 K | 115742 K | 115742 K | 117068 K |
rundll32 | 102916 K | 34560 K | 34560 K | 137500 K |
rundll32 | 100756 K | 23252 K | 23252 K | 124032 K |
rundll32 | 112684 K | 30052 K | 30052 K | 142760 K |

I found a post at https://www.chromium.org/developers/memory-usage-backgrounder, talking about a misunderstanding in memory measure on Windows XP, because its Task Manager shows the working set instead of private memory

Thanks !
eo_support
Posted: Tuesday, September 8, 2020 9:12:42 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,217
Hi,

Version 20 does use more memory than version 18 because it is a newer, thus bigger engine.

Our previous post is simply pointing out that you can not simply add them up because those processes share memory with other.

Thanks!


You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.