Як Chrome «Заморожування вкладок» заощадить процесор та акумулятор

Google розробляє нову функцію для Chrome, що має назву “Заморожування вкладок”. Вона дозволить призупиняти роботу тих вкладок, які наразі не використовуються. Це, у свою чергу, має призвести до зменшення навантаження на процесор, пришвидшення роботи веб-переглядача та збільшення часу автономної роботи ноутбуків.

Проблема багатьох відкритих вкладок

Якщо б користувач відкривав лише одну вкладку, Chrome відображав би тільки одну вебсторінку. Проте, зазвичай, кількість відкритих вкладок є значно більшою. Кожна з цих вкладок, навіть якщо вона неактивна, містить відкриту вебсторінку, яка використовує системну пам’ять. Також можуть працювати скрипти та інші елементи, що споживають ресурси процесора у фоновому режимі.

З одного боку, це корисно, оскільки вкладки можуть продовжувати відтворювати звук або оновлюватися у фоновому режимі, і при поверненні до них не потрібно чекати перезавантаження сторінки. Все відбувається миттєво.

З іншого боку, велика кількість відкритих вкладок, особливо з “важкими” вебсторінками, може призвести до значного споживання системних ресурсів. Це може призвести до перевантаження пам’яті, використання циклів процесора, зниження швидкодії Chrome та швидкого розряду акумулятора. Саме тому інженери Chrome створили функцію відкидання вкладок, а тепер і заморожування. Хоча ці функції пов’язані, вони виконують різні завдання у різних ситуаціях.

Відкидання вкладок для економії оперативної пам’яті

Функція відкидання вкладок була впроваджена ще у 2015 році. Google називає її функцією “збереження пам’яті”. Коротко кажучи, якщо на комп’ютері недостатньо пам’яті, Chrome автоматично відкидає вміст неактивних вкладок. Chrome не відкидає вкладки, з якими користувач взаємодіє, але фонові вкладки, які не використовувалися протягом тривалого часу, стають основною ціллю.

Коли вміст вкладки відкидається, він видаляється з пам’яті системи, а стан зберігається на диску. Зовні в Chrome нічого не змінюється – вкладка залишається на панелі вкладок і виглядає як звичайно. Але при натисканні на неї та перемиканні, потрібно трохи часу, щоб сторінка швидко перезавантажилася.

Саме через цю невелику затримку Chrome відкидає вкладки лише тоді, коли пам’ять системи переповнена. Оперативна пам’ять призначена для кешування, але автоматичне відкидання і швидке перезавантаження вкладки є кращим рішенням, ніж примушування користувачів вручну створювати закладки та закривати вкладки.

Після відкидання вкладки її процес зникає з вбудованого диспетчера завдань Chrome, і її використання пам’яті не відображається. При натисканні на вкладку для перезавантаження процес запускається знову.

Заморожування вкладок для економії процесора та заряду акумулятора

Заморожування вкладок відрізняється від їх відкидання. При заморожуванні вміст вкладки залишається в пам’яті, але він “заморожується”. Це означає, що веб-сторінка на вкладці не може використовувати процесор або виконувати будь-які дії у фоновому режимі. Наприклад, якщо на вкладці відкрита “важка” веб-сторінка з постійно працюючими скриптами, Chrome з часом автоматично заморозить її, припинивши виконання дій, доки користувач знову не взаємодіятиме з нею. Це основний принцип роботи, і Google, ймовірно, згодом надасть докладнішу інформацію.

Заморожування вкладок – це експериментальна функція, яка вже вбудована у стабільні версії Chrome 77, але її потрібно запускати вручну. У збірках Chrome Canary майбутньої версії Chrome 79, Chrome зможе автоматично заморожувати вкладки, так само, як і відкидати їх.

У Chrome Canary доступні різні варіанти заморожування вкладок. Щоб їх активувати, потрібно перейти на сторінку chrome://flags і знайти параметр “Заморожування вкладок”. Після ввімкнення цієї опції, Chrome автоматично заморожуватиме “підходящі” вкладки, які перебувають у фоновому режимі протягом п’яти хвилин. Залежно від обраного варіанту, Chrome може залишити вкладки замороженими або розморожувати їх на десять секунд кожні п’ятнадцять хвилин, щоб вони могли синхронізуватися з сервером або виконати необхідні дії. Google наразі тестує, який варіант буде найкращим.

Хоча заморожування вкладок є експериментальною функцією, майже напевно вона з’явиться у стабільних версіях Chrome, хоча б у якомусь вигляді. Параметри в Chrome Canary були помічені TechDows.

Як спробувати заморожування та відкидання вкладок сьогодні

Поточна стабільна версія Chrome дозволяє випробувати обидві функції. Для цього потрібно ввести chrome://discards в адресний рядок Chrome і натиснути Enter.

Відкриється діагностична сторінка зі списком відкритих вкладок і інформацією про те, чи можна їх заморозити або відкинути. Праворуч від кожної вкладки є посилання для дій “Заморозити” та “Відкинути”.

Можна провести експерименти і побачити різницю самостійно. Наприклад, якщо запустити YouTube і почати відтворення відео, натискання кнопки “Заморозити” на цій вкладці призупинить відтворення, але не видалить вміст вкладки YouTube з пам’яті. Натискання кнопки “Відкинути” призупинить відтворення і видалить вміст вкладки з пам’яті. При відкритті диспетчера завдань Chrome буде видно, що вкладка зникла. Натискання кнопки “Завантажити” перезавантажить вміст вкладки в пам’ять.

Чому відкидання та заморожування такі корисні

Отже, якщо пам’ять системи переповнюється, Chrome відкидає неактивні вкладки, щоб звільнити місце. Перезавантаження вкладки відбувається безшумно при натисканні на неї, але можна помітити, що сторінка завантажується протягом частки секунди. Chrome не відкидає вкладки, доки достатньо пам’яті, використовуючи її як кеш для прискорення роботи.

Навіть якщо у вас достатньо пам’яті, Chrome почне заморожувати неактивні вкладки для економії процесорного часу та заряду акумулятора, що потенційно зробить Chrome та інші програми більш чуйними. Вкладки залишаються в пам’яті, тому при повторній активації веб-сторінка буде готова до використання якомога швидше.

Якщо Chrome потрібно звільнити пам’ять, він може відкинути заморожену вкладку. Але заморозити відкинуту вкладку неможливо, оскільки вона вже видалена з пам’яті і не може виконувати жодних дій у фоновому режимі.

Оскільки майбутня версія Microsoft Edge буде заснована на Chromium, розробки Google для Chrome також покращать веб-браузер Windows 10. Очікується, що майбутні версії Edge також почнуть автоматично блокувати вкладки.