Mă plângeam zilele trecute cum că IMDb îmi omoară procesorul. În primă instanță crezut că js-ul e de vină. Am încercat să dezactivez execuția javascript pe tot domeniul dar n-a schimbat mai nimic, poate doar ușor consumul de memorie. Abia astăzi mi-am dat seama că “de vină” e modul de lucru al Google Chrome și nu IMDb-ul.
Problema pe scurt: Deschid pe IMDb arhiva UK box office și apoi deschid cu middle click în taburi noi toate filmele care mă interesează. 2, 3, 5, 10. Am observat că pagina înițială (arhiva UK box office) e blocată până la încarcarea completă a ultimului tab deschis cu middle click și că procesorul e tot mai încărcat la fiecare tab nou deschis.
Pare ciudat având în vedere că Google Chrome deschide fecare tab nou într-un proces separat. Teoretic, regula nu se aplică și atunci când deschizi taburi noi cu linkuri dintr-o pagină – tab-urile noi, deschise cu middle click, sunt păstrate în același proces. Teoria e mai lungă.
Soluția: o extensie care forțează deschiderea linkurilor în proces separat.
Cum m-am prins: Am apăsat mai mult din greșeala Shift+Esc (scurtătura pentru task manager în Chrome) și am observat toate taburile deschise de mine pe IMDb (11 la număr) grupate într-un mare și lung proces care folosea doar 523MB de memorie și 13% din procesor fără ajutorul nimănui… Mișto, nu?
UPDATE: revin cu o clarificare – deschiderea unei pagini într-un proces separat nu consumă mai puțiune resurse, dimpotrivă, consumă mai multă memorie, dar oferă stabilitate mai mare. Dacă tab-ul deschis inițial moare (flash-ul crapă sau un script se blochează) toate tab-urile deschise cu middle click de acolo vor muri la rândul lor, fiind în același proces.
8 reacţii · Comenteaza · Urmăreste comentariile prin RSS
Reactii pe bloguri
23 august 2011