Přejíždění po stránce do 10 sekund zaplní RAM (Proces GPU)

Hamparle

  • ****
  • 365
  • junior developer ucho
    • Zobrazit profil
    • E-mail
Když si otevřu nějakou složitější stránku (facebook, aukro,  ty sandboxy pro ukázky css), a dám Inspektor-Elements - "Select element" - a začnu přejíždět po stránce, tak v inspektoru :
-se refreshuje pohled na aktuálně vybraný prvek
-na stránce zvýraznují okraje prvku

Po 10 sekundách vzroste spotřeba RAM o 3GB (chrome "Proces GPU") Když proces killnu, je možné pokračovat dál
... když pokračuji dál, dojde k toálnímu zaplnění RAM , Windows ukáže hlášku o plné RAM, stránka spadne, devtools ukáže něco na způsob "Disconnected, reload devtools"

Čím to?

Nastavení chrome
flagy: --enable-gpu-rasterization --disable-zero-copy

chrome://gpu/ :  Graphics Feature Status  vše zeleně (HW accelerated) kromě native memory buffers(software)

GPU: Intel HD Graphics 520, 8GB RAM, OS: Win 7


Log: chrome:gpu
Kód: [Vybrat]
eglInitialize D3D11 failed with error EGL_NOT_INITIALIZED, trying next display type
 eglInitialize D3D11 failed with error EGL_NOT_INITIALIZED, trying next display type
GpuProcessHostUIShim: The GPU process exited normally. Everything is okay.
 [.RenderWorker-0000000004C437B0.GpuRasterization] GL_OUT_OF_MEMORY: Failed to create image surface, HRESULT: 0x8007000E
 [.RenderWorker-0000000004C437B0.GpuRasterization] GL_OUT_OF_MEMORY: Context has been lost.
 [.RenderWorker-0000000004C437B0.GpuRasterization] GL_OUT_OF_MEMORY: Context has been lost.
 [.RenderWorker-0000000004C437B0.GpuRasterization] GL_OUT_OF_MEMORY: Context has been lost.
 Exiting GPU process because some drivers cannot recover from problems.
GpuProcessHostUIShim: The GPU process exited normally. Everything is okay.
 eglInitialize D3D11 failed with error EGL_NOT_INITIALIZED, trying next display type
 [.DisplayCompositor-000000002227CA20] GL_INVALID_OPERATION: Texture was not generated
...
 [.DisplayCompositor-000000002227CA20] GL_INVALID_OPERATION: Texture was not generated
 eglInitialize D3D11 failed with error EGL_NOT_INITIALIZED, trying next display type
GpuProcessHostUIShim: The GPU process exited normally. Everything is okay.
« Poslední změna: 17. 10. 2020, 11:54:14 od Petr Krčmář »


RDa

  • *****
  • 2 709
    • Zobrazit profil
    • E-mail
Re:Přejíždění po stránce do 10 sekund zaplní RAM (Proces GPU)
« Odpověď #1 kdy: 17. 10. 2020, 16:07:29 »
Kdyz dela problemy GPU akcelerace, prvni rada je - vypnout ji. Co nebezi nemuze padnout.
(a druhy konec je - mas zdrojaky, mas gdb.. izoluj problem aby byl replikovatelny a pak hledej duvod padu)

k3dAR

  • *****
  • 3 029
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Přejíždění po stránce do 10 sekund zaplní RAM (Proces GPU)
« Odpověď #2 kdy: 18. 10. 2020, 00:15:15 »
a jak se totozny prohlizec na totoznem hw chova v GNU/Linux?

ByCzech

  • *****
  • 1 861
    • Zobrazit profil
    • E-mail
Re:Přejíždění po stránce do 10 sekund zaplní RAM (Proces GPU)
« Odpověď #3 kdy: 18. 10. 2020, 12:24:41 »
Nevím jestli to souvisí, ale po jedné z posledních aktualizací v Debianu jsem musel na jednom starším notebooku vypnout v Google Chrome GPU akceleraci (Intel grafika), jinak se to nedalo používat. Záseky, nereagovalo - ale jen v Chrome. Nezkoumal jsem zatím to, čím to je, moc ho nepoužívám.

Hamparle

  • ****
  • 365
  • junior developer ucho
    • Zobrazit profil
    • E-mail
Re:Přejíždění po stránce do 10 sekund zaplní RAM (Proces GPU)
« Odpověď #4 kdy: 22. 10. 2020, 13:13:04 »
vypnout v Google Chrome GPU akceleraci (Intel grafika)
Hmm, na tom asi něco bude. Jelikož  jsem to opět měl otevřené devtools(protože facebook zešílel s popupy kvúli cooke mánii a nepředpokládá, že by někdo neměl účet a tudíž si jeho stránky prohlížel nepřihlášen a při každém otevření stránky je stránka zaflákaná lištou dole a popupem uprostřed). Má to zákeřně vymyšlené, na mobilní verzi pravidla jsou plně jiné
Kód: [Vybrat]
m.facebook.com##div.accelerate[data-sigil=" m-layer-root"]
m.facebook.com###msite-pages-header-contents div[data-sigil="loggedout_mobile_cta_footer"]
m.facebook.com###mobile_login_bar
tak jsem lovil elementy a různě mi crashovalo GPU (odpojovalo se devtools, viewport se rozdlaždičkoval). Ale jiná věc, Měl jsem otevřen správce úloh Chromu a vidím, jak Proces GPU bobtná od 100MB po 2GB, tak jsem ho preventivně killoval. Ale v chrome je takové pravidlo, že po třech ukončeních procesu GPU se přejde na vyplou akceleraci a od té doby má vytížení celých a teď pozor:  25 MB !!!

Kód: [Vybrat]
Canvas: Software only, hardware acceleration unavailable
CheckerImaging: Enabled
Flash: Software only. Hardware acceleration disabled
Flash Stage3D: Software only. Hardware acceleration disabled
Flash Stage3D Baseline profile: Software only. Hardware acceleration disabled
Compositing: Software only. Hardware acceleration disabled
Multiple Raster Threads: Enabled
Native GpuMemoryBuffers: Hardware accelerated
Rasterization: Software only. Hardware acceleration disabled
Surface Synchronization: Enabled
Video Decode: Software only. Hardware acceleration disabled
WebGL: Software only, hardware acceleration unavailable
WebGL2: Software only, hardware acceleration unavailable
(nemyslím si, že tedy problém bude v HW aceleraci jako takové, ale nějaké konkrétní funkci jako rasterizace, kompozitor nebo různé flagy jako CheckerImaging/ZeroCopy)

Výkon moc neutrpěl (jen přehrávání videa vytíží CPU moc).  Jiná věc jsou armové mikropočítače s pasivním chlazením, tam se čistě softwarovým renderingem nedá chrome používat.