Firefox: когда копия лучше оригинала

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

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

Затычки для Firefox

Да, согласен, можно попытаться бороться с этими негативными архитектурными последствиями различными полумерами. Для иллюстрации таких сомнительных подходов приведу только пару примеров. Во-первых, это FireFox Builder Optimization (opt.ffbuilder.ru) - программка, сидящая в системном трее и оптимизирующая расход памяти Firefox. Подтверждаю, оптимизирует она память реально и конкретно - это очень заметно, особенно при открытии большого количества окон. При этом слегка замедляет работу браузера, но на более-менее современных компьютерах это почти не ощущается. Ну и самое главное в ней - когда выгружаешь окна, знаменитые утечки в памяти не остаются.

Кстати, говоря о памяти: хорошо известно, что большинство проблем с памятью у нашей верной “огненной лисы”, как правило, из-за плагинов, в ней установленных. Поэтому, если ваш браузер уж слишком много кушает памяти и страдает утечками оной, разрастаясь в памяти после часа висения в открытом состоянии до непотребных размеров, для самостоятельного выявления проблемного плагина можно поступить очень просто. Можно чисто эмпирически найти наиболее “тяжелый и проблемный” из них. Для этого сперва замеряется, сколько грузит мегабайт памяти Огнелис при вашей стандартной работе. Потом начинаете поочередно отключать плагины из списка активных по одному, в промежутках фиксируя изменения в памяти. Как правило, если проблема все-таки в неудачном плагине – попав на него и отключив, вы сразу же заметите, как полегчает вашему пациенту. Кстати, также общеизвестно, что один из наиболее кривых плагинов нашего времени, безмерно аппетитный к ресурсам и памяти в частности – это известный антирекламный плагин Adblock plus, так что с ним лучше расстаться в первую очередь.

Вторая программа такого рода – это Firetune, которая много чего может оптимизировать, отключить ненужного и заново это включить, если что. Одним словом – не забудьте перед такой масштабной настройкой сделать копию своих старых настроек Firefox, а то знаете ли, многое что случается порой...

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

Что это значит и почему это действительно дает хорошие результаты, давайте рассмотрим уже на конкретном примере, и первым в нашем сегодняшнем обзоре будет проект Pale Moon.

Бледная луна

Говоря максимально коротко, веб-браузер Pale Moon (www.palemoon.org) отличается от своего оригинального собрата Firefox существенным числом изменений - по большей части это оптимизации оригинального кода, удаление ненужного кода, а также компиляция с оптимизацией под новые процессоры (для активного использования их новой функциональности).

Представляю ваш справедливый скепсис по поводу замечания «удален весь ненужный код», попробую пояснить это подробнее. Дело в том, что изначальная ориентация Firefox на многоплатформенность и максимальную универсальность не могла не сказаться на производительности - разработчики решили пожертвовать частной оптимизацией под каждую конкретную платформу в пользу общей универсальности решений, пригодных сразу для всех платформ. Иначе говоря, используя программистский жаргон, решения, примененные в оригинальном Firefox, содержат серьезный «оверхед», за который невольно приходится расплачиваться своими вычислительными ресурсами всем пользователям этого браузера. Именно этим резервом и решили воспользоваться разработчики Pale Moon для создания максимально быстрого клона Firefox, заточенного персонально для Windows.

Итак, мы подошли к тому, чтобы суммировать все сказанное и выделить главные особенности именно этой частной сборки:

. Первая особенность и ограничение одновременно - браузер Pale Moon работает только под ОС Windows. Из него аккуратно удален весь инфраструктурный код (тут нужно уточнить, что он не удален, а просто отключен, из соображений совместимости с требованиями лицензии MPL для Firefox), который создан специально для совместимости с зоопарком разнородных ОС, а оставшиеся критические места заточены конкретно под единственную для него платформу Windows.

. Вторая фишка и ограничение - это серьезная оптимизация под наиболее распространенные сегодня семейства процессоров. В самом деле, если у вас более-менее современный процессор, поддерживающий расширение SSE2, почему же его мощь не задействовать в рендеринге страниц? Почему, если у вас 64-битная ОС и соответствующий процессор, не задействовать по уму их дополнительные возможности? Стандартная сборка Firefox, к сожалению, не делает этого из соображений общей совместимости. Дополнительно из Pale Moon выкинута поддержка уж совсем старого железа и его особенностей, настойчивая поддержка которых только тормозит современные компьютеры. Теперь эта версия Firefox ориентирована только на актуальное железо и его особенности. Соответственно, если у вас совсем старый компьютер - эта сборка не для вас. Если у вас более-менее современный компьютер - у вас появляются дополнительные причины для использования Pale Moon.

. Третий важный момент - это отключение ненужных возможностей уже в самом Windows-коде. Да, вы правильно прочитали: вообще не нужных! Например, часто ли вы пользуетесь возможностями технологии ActiveX и ActiveX scripting в Firefox? Нужны ли вам функции родительского контроля (это не касается тех, кто еще живет с родителями)? Часто ли вы пользуетесь всеми этими Accessibility features? Также убраны модули CrashReporter и Automatic Updater и т. п. вещи.

К сожалению, русский язык недоступен в оригинальной сборке, но русифицировать браузер можно самостоятельно, установив специальное расширение по следующему алгоритму:

1. Для последней (6-й) версии браузера русский языковой пакет можно скачать тут (storage.sity.nl/palemoon/langpacks/6.0.x/ru.xpi).

2. Затем нужно перетянуть этот файл в открытое окно браузера Pale Moon (или через его меню File->Open File и вручную выбрать ранее скачанный ru.xpi), после чего появится диалоговое окно, где нужно нажать Install.

3. После этого в адресной строке браузера написать about:config, далее в строке Filter ввести general.useragent.locale, нажать на него правой кнопкой мыши -> выбрать Modify -> и изменить значение с en-US на ru.

4. Перезапустить Pale Moon.

И отдельное замечание: большой плюс Pale Moon - это сборка свежей 64-битовой версии для соответствующих компьютеров (что повышает производительность в среднем на 20-30% на этом же железе), но при этом стоит отдельно обратить внимание тех, кому это важно: обычный 32-битный Flash не может работать под 64-битном Firefox. Чуть отклоняясь от главной темы: интересно здесь и то, что 64-битный Flash под Windows изготовить до сих пор никак не могут, хотя под Linux он уже существует достаточно давно. Также отвалятся и все стандартные 32-битовые плагины для Firefox, так что ощутимые минусы тут, кроме приятного роста быстродействия, есть тоже.

Результаты

В результате такого взвешенного и логичного подхода мы получили ощутимый прирост производительности, при этом, что важно, сохранится полная совместимость со стандартными расширениями и плагинами. Оптимизация исполняемого кода при компиляции помогла обеспечить солидный выигрыш в скорости - около 25% по результатам теста SunSpider. Эксперты с сайта LifeHacker также подтвердили, что браузер Pale Moon действительно быстрее отображает веб-страницы большого размера со сложной версткой (по сравнению со стандартным Firefox). Также зафиксировано ощутимое преимущество Pale Moon в скорости работы в графическом тесте Peacekeeper. Мое же субъективное мнение после пары дней использования – полностью аналогично. Кроме того, Pale Moon можно использовать одновременно и параллельно с обычным Firefox, а для автоматического переноса всех личных настроек из последнего - кукисов, паролей, истории и закладок - можно использовать эту утилиту (dl.dropbox.com/u/1466747/Palemoon/support/pmmig.exe). Pale Moon поставляется без инсталлятора в виде zip-архива (стартовый файл - palemoon.exe).

Выбрать и скачать нужную вам версию Pale Moon можно здесь (6-я ветка - palemoon.org/download-ng.shtml) или здесь (3-я ветка - palemoon.org/download-v3.shtml). Также можно положиться и на автоинсталлятор (storage.sity.nl/palemoon/palemoon-websetup.exe), который автоматически определяет ваш процессор и параметры компьютера и, исходя из этого, скачает наилучшую для вас версию.

Другие частные сборки Firefox для Windows

Следующий наш объект - проект Firefox Optimized Builds, который во многом аналогичен Pale Moon, но уже никак не модифицирует код Firefox, что, возможно, устроит более консервативных и осторожных пользователей. Вместо модификаций проект выполняет только оптимизирующую компиляцию оригинального кода Firefox под разные семейства процессоров, на основании чего и выходят собственные, параллельные официальным, сборки. Firefox Optimized Builds предоставляет три разновидности сборки, вот они:

. сборка P1 - это наиболее универсальная сборка, по большей части она ориентирована на старые процессоры и компьютеры;
. сборка P2 - также уже для отчасти устаревших процессоров, но еще достаточно распространенных, таких как Athlon XP, Duron, Pentium III, Celeron и так далее;
. сборка P3 - билд для новых процессоров. Не хочу сказать, что она оптимизирована для новейших процессоров и их самых последних возможностей, - нет, но как минимум позволяет задействовать уже стандартные мультимедийные расширения и некоторые другие аппаратные возможности. Итак, сборка пригодна для AMD Athlon 64, Sempron, семейства процессоров Opteron, Intel Pentium 4/D/M, Intel Xeon, Intel Atom и для популярного сейчас семейства процессоров Intel Core.

Итак, принцип выбора прост: если у вас сравнительно новый компьютер, качаем P3 build, в остальных случаях (или если P3 build не работает) - смело берем P2 build (ну а на совсем старых компьютерах можно воспользоваться и P1 build). Чем более высокий номер сборки, тем большее ускорение по отношению к стандартной версии будет в итоге достигнуто.

Кроме того, доступны также и портабельные варианты сборки для каждой из трех вышеописанных версий. Итого всего имеем 6 разновидностей для скачки. Автор достаточно часто делает синхронизацию своих версий по мере выхода официальных сборок от Firefox (правда, частенько пропускает одну- две версии, если изменения в них невелики). Отдельно приятно, что он, будучи китайцем, работающим в корейской компании Samsung, не ленится пересобрать в том числе и русскую версию Firefox.

Повторюсь, что это - Windows-версии Firefox, годные, в том числе, и для работы на 64-битовых процессорах. Скачать всегда последнюю версию Firefox Optimized можно на странице блога автора (www1.plala.or.jp/tete009/en-US/software.html#FFINFO).

Для возможности выбора (если с предыдущими проектами что-то не заладилось) привожу почти аналогичный проект - Firefox Private Build. Здесь также единственное главное отличие от оригинальной сборки - это жесткая оптимизация билдов под более-менее новые процессоры, причем поддерживается две их разновидности: с поддержкой SSE2 и просто SSE. Кроме того, ведутся две ветки: Aurora (6-я ветка Firefox) и Namoroka (3-я ветка). Поддержка русского языка здесь также обеспечивается посредством установки внешнего языкового пакета в виде расширения Firefox, выбрать который можно на официальном сайте Firefox (алгоритм полностью аналогичен локализации Pale Moon, описанной выше, подробней прочитать можно здесь - www.mozilla- russia.org/products/firefox/l10n.html).

Портабельная супербезопасность

Хочу также кратко коснуться еще одной частной сборки Firefox от Rosenfox (mydisk.se/rosenfeld/webpage/news.htm), выполненной в полностью портабельной версии. Но это не совсем обычная портабельная версия Firefox, так как она предназначена для следующих случаев:
. если вы реально озабочены своей безопасностью в Интернете, а также не хотите оставлять на своем (или чужом) компьютере никаких следов вашего интернет-серфинга, желаете максимально обезопасить вашу приватную информацию;
. если системный администратор запретил вам установку сторонних программ на ваш рабочий компьютер;
. если вы ни разу не пользовались программами от Mozilla и просто «хотите попробовать» Firefox, затратив на это минимум времени и не мусоря в своей (чужой) системе.

Исходя из этих целей, Rosenfox Portable Firefox настроен так, что он по умолчанию будет блокировать при загрузке следующие компоненты: . cookies;
. java-scripts и управляющие элементы, связанные с ними;
. подавляющую часть текстовой и графической рекламы;
. графические элементы, загружаемые со сторонних сайтов;
. кросс-сайтовые перенаправления;
. запросы referrer;
. графику, видео- и аудиоэлементы, основанные на флэш-технологиях.

При завершении каждой сессии Rosenfox Portable Firefox будет автоматически удалять:
. журнал посещений (историю);
. журнал загрузок файлов;
. журнал форм и поиска;
. cookies;
. LSO (cookies, связанные с флэш-технологиями);
. регистрационные данные;
. кэш браузера;
. сохраненные пароли к сайтам, почтовым ящикам, онлайн-магазинам и форумам;
. данные автономных веб-сайтов.

Дополнительные встроенные средства безопасности и повышения скорости работы:
. встроенные и активированные дополнения: Ad-Block Plus, Image Like Opera, NoScript, RefControl, RequestPolicy, CookieSafe;
. виртуальная клавиатура, позволяющая обезопасить пользователя от кейлоггеров (шпионских закладок) при наборе логинов-паролей и другой критичной информации;
. поиск информации по каналу, защищенному при помощи SSL;
. шифрование веб-ссылок, хранящихся в пользовательских закладках;
. шифрование информации, находящейся в пользовательском блокноте, поддерживающем до десяти независимых страниц для хранения записей; . средство блокирования браузера при помощи мастер-пароля по тайм-ауту;
. система генерирования и использования «одноразовых» анонимных почтовых ящиков, предназначенная для регистрации на веб-ресурсах.

Не Windows единым жив человек!

Для пользователей Linux также хочется хотя бы упомянуть о существовании аналогичных сборок Firefox, оптимизированных специально под конкретные марки процессоров и под Linux, - это довольно известные проекты Swiftfox, Swiftweasel и IceCat.

Попробуем кратко сформулировать их отличия. Swiftweasel (swiftweasel.tuxfamily.org) использует более продвинутую методу оптимизирующей компиляции (P.G.O), которая выполняется в два этапа. Кроме того, в их билдах применяются различные твики, ускоряющие браузер и делающие его более безопасным. Также в дистрибутив встроены по умолчанию несколько расширений антирекламного характера. Большой минус - похоже, что этот по- настоящему интересный проект был заброшен: последняя доступная версия «оптимизированного Firefox» на сайте - 3.5.7 (это начало 2010 года). Намного новее версия у похожего проекта Swiftfox (www.getswiftfox.com) - 3.6.13 (проект часто пропускает промежуточные версии). Как уже понятно, версий из 6-й ветки тут нет и пока не планируется. Дополнительно есть оптимизированный deb-пакет для Debian. По сравнению с Swiftweasel степень переделок и оптимизаций здесь гораздо более скромная – только целевая перекомпиляция.

Третий наш герой – IceCat (http://www.gnu.org/software/gnuzilla/). Это свободный, с открытым исходным кодом браузер, полностью основанный на кодовой базе Mozilla Firefox. Проект начат в августе 2005 года и разрабатывается Free Software Foundation в рамках проекта GNUzilla. Разработка во многом похожа на Swiftfox, разве что “переделанные” представители 6-й версии тут уже присутствуют.

В целом, конечно, эти сборки выглядят беднее и серее, чем аналогичные для Windows - сразу во всех плоскостях сравнения.

Заключение

Надеюсь, наш сегодняшний обзор поможет вам выбрать наиболее быстрый и надежный инструмент для своего повседневного веб-серфинга. В заключение хотелось бы дать только один совет: если какая-то сборка чудит или не работает должным образом, просто попробуйте другую! Я специально старался дать возможность выбора, перечислив альтернативы, так как информация в Интернете в этом плане чрезвычайно противоречива: одни хвалят одни сборки, доказывая их невероятные преимущества, тогда как у других они даже не запускаются; поэтому лично я считаю, что собственный опыт и голова на плечах - оно всегда лучше, чем тысяча советов со стороны.

Игорь Савчук Softkey.info


Компьютерная газета. Статья была опубликована в номере 39 за 2011 год в рубрике soft

©1997-2024 Компьютерная газета