Вот уже третий год продолжается работа проекта MemShrink по оптимизации потребления памяти браузером Firefox. За прошедшее время исправлено огромное количество багов, и уже мало кто помнит, какая печальная репутация была у Firefox раньше из-за утечек памяти. Сейчас этот браузер практически не уступает конкурентам по этому показателю. Впрочем, отдельные баги оставались до сих пор. Например, проблема с некорректной загрузкой в память графических изображений на страницах с большим количеством графики.

Вчера разработчики сообщили об исправлении бага 847223. Комбинация этого патча с патчем для бага 689623, который устранили в версии Firefox 24, полностью исключает давнюю проблему с излишним потреблением ОЗУ на страницах с большим количеством графики. Что характерно, это был баг № 1 в списке MemShrink, но окончательно разобраться с ним удалось только сейчас.

Чтобы оценить масштаб сделанных изменений, ниже показана диаграмма использования памяти для одной тестовой страницы в FF 23, 24 и 26. Диаграмма отражает потребление ОЗУ перед загрузкой, после открытия страницы, после небольшого скроллинга и после закрытия вкладки.

Как видим, новая версия Firefox 26 будет экономить 2-3 гигабайта (!) оперативной памяти на таких страницах. Например, FF 23 при открытии страницы декодировал и загружал в память все изображения со страницы, отнимая сразу 3 ГБ даже когда картинки были в фоновом режиме. В FF 24 частично закрыли баг, так что браузер стал быстренько освобождать занятые 3 ГБ, по мере прокрутки страницы. Наконец, в Firefox 26 (красная линия на графике) баг окончательно исправили.

Кроме освобождения 3 ГБ ОЗУ, время загрузки страницы упало с 5 секунд до примерно 1 секунды, что тоже приятно.



Оставить мнение