cefsharp / cefsharp/CefSharp

Higher RAM usage in NETCore

Abierto
#4,716 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Help Wanted
Lenguaje dominante
C#
Estrellas
10.3k
Forks
2.9k
Merge medio
5 d 22 h
PR fusionados (30 d)
4

Descripción

### Is there an existing issue for this?

- [X] I have searched both open/closed issues, no issue already exists.

### CefSharp Version

120.2.50

### Operating System

Windows 11

### Architecture

x86

### .Net Version

.NET 6.0

### Implementation

WinForms

### Reproduction Steps

Create minimal application that uses CefSharp and build it both for .NET Framework and .NET Core.

### Expected behavior

Both versions should take a similar amount of RAM.

### Actual behavior

There's a 20-30% difference between the two versions' working set.

See this table (taken from Process Explorer):

.NET 6:
| Process name | Private Bytes | Working Set |
|--------|--------|--------|
| Chromium.exe | 37,292 K | 99,908 K |
| CefSharp.BrowserSubprocess.exe | 101,244 K | 85,808 K |
| CefSharp.BrowserSubprocess.exe | 21,888 K | 34,820 K |
| CefSharp.BrowserSubprocess.exe | 23,264 K | 42,092 K |
| CefSharp.BrowserSubprocess.exe | 25,764 K | 43,848 K |
| CefSharp.BrowserSubprocess.exe | 28,040 K | 58,440 K |

.NET 4.7.2:
| Process name | Private Bytes | Working Set |
|--------|--------|--------|
| Chromium.exe | 35,532 K | 80,800 K |
| CefSharp.BrowserSubprocess.exe | 103,972 K | 75,220 K |
| CefSharp.BrowserSubprocess.exe | 21,380 K | 32,504 K |
| CefSharp.BrowserSubprocess.exe | 20,404 K | 25,964 K |
| CefSharp.BrowserSubprocess.exe | 24,264 K | 34,704 K |
| CefSharp.BrowserSubprocess.exe | 26,220 K | 48,696 K |

This increases even further when I actually start browsing in either program.

### Regression?

_No response_

### Known Workarounds

_No response_

### Does this problem also occur in the CEF Sample Application

Not Tested

### Other information

_No response_

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza reproduciendo la aplicación mínima de CefSharp WinForms reportada en Windows 11 x86 con .NET 6.0 y .NET Framework 4.7.2. Usa Process Explorer para comparar los private bytes y working sets de Chromium.exe y CefSharp.BrowserSubprocess.exe antes y durante la navegación. Se considerará completado cuando se haya identificado la causa de la diferencia del 20–30 % y se haya conseguido que el uso de memoria de los runtimes alcance un nivel similar, o se haya documentado una limitación confirmada del runtime.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
csharp
Área
desktop, performance
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.