Adblock Plus - возможная причина того, почему Firefox и Chrome пожирают так много памяти

2014-05-15 30692 комментарии
Вот вам явный парадокс: Adblock Plus, который является безусловно самым популярным дополнением для Firefox и Chrome, фактически увеличивает объем потребляемой веб-браузером памяти, вместо того чтобы его сокращать

Adblock Plus - возможная причина того, почему Firefox и Chrome пожирают так много памяти

Автор: Себастиан Энтони
Оригинал статьи: Iframe irony: Adblock Plus is probably the reason Firefox and Chrome are such memory hogs
Перевод: Александр Рябов

Кроме того, Adblock Plus (ABP) также увеличивает количество времени (и циклы ЦП), затрачиваемое на то, чтобы отобразить веб-сайт. Вместо того, чтобы делать работу в Интернете более быстрой, ABP на самом деле делает ее медленной. 

Вначале это может показаться парадоксальным — в конце концов ABP блокирует загрузку всей этой раздражающей мультяшной флешь-рекламы и, таким образом, это должно спасти нас от ненужного расходования памяти и нагрузки на ЦП. К сожалению, реальная ситуация намного более сложная. В целом ABP перерос свою собственную пользу, и просто сам процесс работы АВР в веб-браузере потребляет больше памяти и циклов процессора, чем экономит.

Принцип работы Adblock Plus
Принцип работы Adblock Plus

Начать можно с того, что по словам разработчика Mozilla Николаса Нетэркоута (Nicholas Nethercote) существует 60 - 70 MB памяти обращения, которую Adblock Plus запускает в фоновом режиме при работе с Firefox. Основная проблема, тем не менее, это процесс, которым ABP фактически блокирует рекламу. В основном ABP в каждую веб-страницу, которую Вы посещаете, вставляет крупную таблицу стилей CSS, занимающую приблизительно 4 МБ оперативной памяти, убирая рекламу. Это не было бы проблемой, если бы у нас были все еще 90-е или начало 2000-х, но в наше время веб-страницам очень свойственно иметь много фреймов, которые являются отдельными, собственными веб-страницами, которые загружаются и встраиваются в страницу, на которую Вы в данный момент смотрите. Наиболее распространенный пример - вездесущий социальный виджет совместного использования (Facebook, Twitter, и т.д.), который фактически является фреймом, содержащим отдельную веб-страницу, размещенную на серверах Facebook или Twitter. 

Вы, вероятно, можете видеть, к чему это ведет. На современном веб-сайте могут быть десятки фреймов. На домашней странице ExtremeTech есть 10, что довольно немного. При тестировании Нетэркоут обнаружил, что TechCrunch использовал приблизительно 194 МБ оперативной памяти при выключенном ABP, но ее объем удвоился до 417 МБ при включении ABP после запуска всех социальных виджетов. В примере крайней ситуации с VIM Color Scheme Test website, у которого есть сотни фреймов, будет расходоваться от нескольких сотен мегабайт памяти почти до двух гигабайт. Нетэркоут тестировал потребление памяти ABP в Firefox, но мы выполнили тот же тест в Chrome и получили те же результаты.

Использование памяти в Chrome, много фреймов, Adblock Pro отключен
Использование памяти в Chrome, много фреймов, Adblock Pro отключен

Использование памяти в Chrome, много фреймов, включен Adblock Pro
Использование памяти в Chrome, много фреймов, включен Adblock Pro

Труднее измерить обращения к ЦП при включении ABP, но после некоторого ненаучного тестирования определенно чувствуется, что при установленном ABP веб-сайты отображаются намного медленнее. Мой вентилятор ЦП вращается сильнее, когда ABP включен, и это обычно является хорошим показателем того, что процессор сильно загружен.

Парадокс конечно же в том, что популярность ABP зарождалась на его возможности блокировать кричащую, раздражающую и ресурсоемкую Flash-рекламу. Теперь из-за того, что у ABP список блокирования такой большой, он, вероятно, использует оперативной памяти и рабочих циклов процессора больше, чем экономит (хотя это, конечно, будет варьироваться от сайта к сайту). 

Лично я перестал использовать ABP давно, потому что бесплатные веб-сайты зависят от дохода с рекламы, и я не хочу, чтобы эти бесплатные веб-сайты разорялись. Если Вы сильно обеспокоены по поводу рекламодателей, отслеживающих Ваши действия в сети, то выключение приема cookie от сторонних сайтов или использование такого дополнения к браузеру, как NoScript, является намного более эффективным (и рациональным) методом, чем использование ABP. Против раздражающей Flash-рекламы дополнения, работающие на основе команд по щелчкам мыши, такие как Flashblock (для Firefox и Chrome), являются более приемлемым решением, чем ABP.

Другая возможность, если Вы действительно хотите блокировать рекламу (особенно те надоедливые объявления, перекрывающие видеоролики на YouTube и подобные им), состоит в том, чтобы использовать определенного вида прокси-сервер, блокирующий рекламу. Privoxy - бесплатный, и если Вы запустите его локально, падение производительности будет минимальным. Однако, как и со всеми прокси-серверами, предостережение будет состоять в том, что он не работает с соединениями HTTPS (что является проблемой, потому что вам действительно нужно пользоваться соединениями по протоколу HTTPS по мере возможности, если Вы хотите быть скрытым от постоянно следящего ока кибер-преступников и правительства).

© .
Комментарии и отзывы

Нашли ошибку?

Новое на сайте