Ізоляція все перемножила
Після зміцнення часів Spectre Chromium тримає кожен сайт в окремому процесі, і Firefox пішов тим самим шляхом. Сесія з п'ятнадцяти вкладок із парою розширень — це легко двадцять п'ять процесів і більше: сам браузер, GPU-процес, мережевий сервіс і по рендереру на кожен сайт. Ізоляція сайтів — справді добрий захист: скомпрометований рендерер не може читати чужі дані. Але кожен процес платить повну ціну за стек відмальовування, і ті самі п'ятнадцять вкладок, що 2014-го жили в одному процесі, тепер платять за вхід п'ятнадцять разів.
Розширення — теж процеси. Від часів Manifest V3 вони працюють як подієві service worker: прокидаються, коли спрацьовують їхні правила, і тримають контент-скрипти, вбудовані в кожну відкриту сторінку. Дюжина «маленьких» розширень — це вага кількох зайвих вкладок, а одне розхитане може з'їсти більше за всіх. Вбудований диспетчер завдань Chrome (Shift+Esc) показує споживання по вкладках і розширеннях з іменами — п'ять хвилин там корисніші за будь-які загальні поради.
Платформа вміє тільки рости
Браузер віддає всім один і той самий бінарник, і в ньому все, що вміє сучасний веб: WebGPU, WebAssembly, WebRTC, WebCodecs, service worker, встановлювані застосунки. Прибрати функцію майже неможливо — десь банк або інтранет і досі залежить від API з 2013-го, — тож рушій може лише накопичувати. Кожен реліз ще й оновлює компоненти у фоні: кодеки, мережевий стек, списки Safe Browsing; браузер, який ви вчора не перезавантажували, пропатчив сам себе тричі.
Веб-сторінки потяжіли так само швидко. Середня сторінка везе мегабайти JavaScript раніше, ніж покаже контент, зверху їдуть реклама й аналітика, і «легкий» новинний сайт спокійно вантажить сотню скриптів. Браузер чесно показує, чию вагу він несе: відкрийте вбудований диспетчер завдань і порівняйте сторінку документації з якимось магазином. Рушій потяжів, але вантаж ріс швидше.
- Повноцінний JavaScript-рушій із JIT — кожен процес платить за компілятор, а не лише скриптові важковаги
- GPU-композитинг і кодеки — кожен рендерер несе свою частку графічного конвеєра
- Service worker — сайти тримають логіку у фоні без жодної видимої вкладки
- Встановлювані PWA — вебзастосунок отримує власний рантайм, невідмінний від маленького браузера
- Розширення — по процесу на кожне плюс контент-скрипти, вбудовані в кожну сторінку
Що справді скорочує рахунок
Чесний перший крок — присипляння вкладок, і воно вже вбудоване: «сплячі вкладки» Edge заморожують фонові за таймером, який ви налаштовуєте, а Memory Saver у Chrome вивантажує неактивні та відновлює їх за кліком. Обидва механізми повертають реальну пам'ять, і обидва дозволяють закріпити винятки для сайтів, які мають жити завжди. Другий крок — аудит розширень: видаліть те, чого не впізнаєте, вимкніть те, що потрібно раз на тиждень, а не раз на годину, і звірте цифри в диспетчері завдань до і після.
Що не працює: погоня за «легкими» браузерами. Усе, що працює на тому самому рушії, несе ту саму пер-процесну архітектуру і ту саму вагу платформи — ви міняєте сумісність або оновлення безпеки на похибку округлення. Старі форки на покинутих рушіях гірші за важкі: це непатчена поверхня атаки. Більше RAM — нудний, але чесний фікс, що збігається з трендом: браузер — це операційна система для вебу, і ніхто не ганяє ОС на мінімальних вимогах.
Питання та відповіді
Чому Chrome відкриває так багато процесів?
Через ізоляцію сайтів: по процесу на кожен сайт плюс окремі для GPU, мережі й кожного розширення. Це архітектура безпеки, а не витік — Shift+Esc відкриває власний диспетчер завдань браузера з розшифруванням кожного процесу.
«Легкі» браузери споживають менше пам'яті?
Рідко відчутно: один рушій — та сама пер-процесна ціна. Справді легкі або відмовляються від ізоляції сайтів, або виходять без оновлень — це обмін безпеки на гігабайти, яких ви найчастіше не отримаєте.
Перевірте склад ліцензії до покупки.
Разовий 30-хвилинний тест охоплює базові функції. Інструменти з позначкою PRO залишаються заблокованими до активації платної ліцензії.
Читайте також
Написати нам: [email protected]