Firefox: когда копия лучше оригиналаАвтор: Игорь Савчук Опубликовано: 19.09.2011 Источник: SoftKey.info В самом деле, в последнее время много нареканий слышно в адрес Firefox: это и бесконечные утечки памяти, медлительность рендеринга больших страниц, частые сбои в работе и многое другое: в то же самое время, многие специалисты утверждают, что это - высокая плата за ту степень универсальности, которую пытается достичь этот проект. Пытаясь приспособиться сразу к целому зоопарку платформ, избирая для этого подчас далеко не самые простые подходы, конечные решения часто грешат некоторой ограниченностью и потерей частных преимуществ для каждой отдельной платформы. И хотя можно попытаться бороться с этими архитектурными последствиями различными полумерами, наш сегодняшний обзор посвящен другому подходу - неофициальным сборкам Firefox, где радикальным образом пытаются избавиться от этой "дорогой универсальности"... чтобы создать в итоге ещё лучший и стабильный браузер!
Что это значит и почему это действительно даёт хорошие результаты, давайте рассмотрим сразу же на конкретном примере, и первым в нашем сегодняшнем обзоре будет проект Pale Moon.
Бледная луна
Говоря максимально коротко, веб-браузер Pale Moon отличается от своего оригинального собрата Firefox существенным числом изменений - по большей части это оптимизации оригинального кода, удаление ненужного кода, а также компиляция с оптимизацией под новые процессоры (для активного использования их новой функциональности).
Представляю ваш справедливый скепсис по поводу замечания "удален весь ненужный код", попробую пояснить это подробнее. Дело в том, что изначальная ориентация Firefox на многоплатформенность и максимальную универсальность не могла не сказаться на производительности - разработчики решили пожертвовать частной оптимизацией под каждую конкретную платформу в пользу общей универсальности решений, пригодных сразу для всех платформ. Иначе говоря, используя программистский жаргон, решения, примененные в оригинальном Firefox, содержат серьёзный "оверхед", за который невольно приходится расплачиваться своими вычислительными ресурсами всем пользователям этого браузера. Именно этим резервом и решили воспользоваться разработчики Pale Moon для создания максимально быстрого клона Firefox, заточенного персонально для Windows.  | | Стартовая страничка Pale Moon |
Итак, мы подошли к тому, чтобы суммировать всё сказанное и выделить главные особенности именно этой частной сборки.
- Первая особенность и ограничение одновременно - браузер Pale Moon работает только под ОС Windows. Из него аккуратно удалён весь инфраструктурный код (тут нужно более аккуратно уточнить, что он не удален, а просто отключен, из соображений совместимости с требованиями лицензии MPL для Firefox), который создан специально для совместимости с зоопарком разнородных ОС, а оставшиеся критические места заточены конкретно под единственную для него платформу Windows.
- Вторая фишка и ограничение - это серьёзная оптимизация под наиболее распространенные сегодня семейства процессоров. В самом деле, если у вас более-менее современный процессор, поддерживающий расширение SSE2, почему же его мощь не задействовать в рендеринге страниц? Почему, если у вас 64-битная ОС и соответствующий процессор, не задействовать по уму их дополнительные возможности? Стандартная сборка Firefox, к сожалению, не делает этого из соображений общей совместимости. Дополнительно из Pale Moon выкинута поддержка уж совсем старого железа и его особенностей, настойчивая поддержка которых только тормозит современные компьютеры. Теперь эта версия Firefox ориентирована только на актуальное железо и его особенности. Соответственно, если у вас совсем старый компьютер - эта сборка не для вас. Если у вас более-менее современный компьютер - у вас появляются дополнительные причины для использования Pale Moon.
- Третий важный момент - это отключение ненужных возможностей уже в самом Windows-коде. Да, вы правильно прочитали: вообще не нужных! Например, часто ли вы пользуетесь возможностями технологии ActiveX и ActiveX scripting в Firefox? Нужны ли вам функции родительского контроля (это не касается тех, кто ещё живет с родителями)? Часто ли вы пользуетесь всеми этими Accessibility features? Также убраны модули CrashReporter и Automatic Updater и т. п. вещи.

К сожалению, русский язык недоступен в оригинальной сборке, но русифицировать браузер можно самостоятельно, установив специальное расширение по следующему алгоритму:
- Для последней (6-й) версии браузера русский языковой пакет можно скачать тут.
- Затем нужно перетянуть этот файл в открытое окно браузера Pale Moon (или через его меню File->Open File и вручную выбрать ранее скаченный ru.xpi), после чего появится диалоговое окно, где нужно нажать Install.
- После этого в адресной строке браузера написать about:config, далее в строке Filter ввести general.useragent.locale, нажать на него правой кнопкой мыши -> выбрать Modify -> и изменить значение с en-US на ru.
- Перезапустить 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 можно использовать одновременно с обычным Firefox, а для автоматического переноса всех личных настроек из последнего - кукисов, паролей, истории и закладок - можно использовать эту утилиту. Pale Moon поставляется без инсталлятора в виде zip-архива (стартовый файл - palemoon.exe).  | | Ощутимое преимущество Pale Moon в скорости работы в графическом тесте Peacekeeper: слева классический Firefox, справа - Pale Moon |
Выбрать и скачать нужную вам версию Pale Moon можно здесь (6-я ветка) или здесь (3-я ветка). Также можно положиться и на автоинсталлятор, который автоматически определяет ваш процессор и параметры компьютера и, исходя из этого, скачает наилучшую для вас версию.
Другие частные сборки 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 6.0 Release Optimized Build, который вышел в конце августа 2011 года. Автор достаточно часто делает синхронизацию своих версий по мере выхода официальных сборок от Firefox (правда, частенько пропускает одну-две версии, если изменения в них невелики). Отдельно приятно, что он, будучи китайцем, не ленится пересобрать в том числе и русскую версию Firefox, все модификации которой я и привожу ниже.
Отдельно повторюсь, что это Windows-версии Firefox, годные в том числе и для работы на 64-битовых процессорах. Очевидно, что через какое-то время приведенные мною прямые ссылки устареют, - скачать всегда последнюю версию Firefox Optimized можно на странице блога их автора.  | | SoftKey глазами Pale Moon |
Для возможности выбора (если с предыдущими проектами что-то не заладилось) привожу почти аналогичный проект - Firefox Private Build. Здесь также единственное главное отличие от оригинальной сборки - это жесткая оптимизация билдов под более-менее новые процессоры, причем поддерживается две их разновидности: с поддержкой SSE2 и просто SSE. Кроме того, ведутся две ветки: Aurora (6-я ветка Firefox) и Namoroka (3-я ветка). Поддержка русского языка здесь также обеспечивается посредством установки языкового пакета в виде расширения Firefox, выбрать который можно на официальном сайте Firefox здесь (алгоритм полностью аналогичен локализации Pale Moon, описанной выше, или подробней прочитать можно здесь).
Портабельная супербезопасность
Хочу также кратко коснуться ещё одной частной сборки Firefox от Rosenfox, выполненной в полностью портабельной версии. Но это не совсем обычная портабельная версия 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.
Попробуем кратко сформулировать их отличия. Swiftweasel использует более продвинутую методу оптимизирующей компиляции (P.G.O), которая выполняется в два этапа. Кроме того, в их билдах применяются различные твики, ускоряющие браузер и делающие его более безопасным. Также в дистрибутив встроены по умолчанию несколько расширений антирекламного характера. Большой минус - похоже, что этот проект был заброшен: последняя доступная версия "оптимизированного Firefox" на сайте - 3.5.7 (это начало 2010 года).
Намного новее версия у похожего проекта Swiftfox - 3.6.13 (проект часто пропускает промежуточные версии). Как уже понятно, версий из 6-й ветки тут нет и пока не планируется. Дополнительно есть оптимизированный deb-пакет для Debian. В целом, конечно, эти сборки выглядят гораздо беднее и серее, чем аналогичные для Windows, сразу во всех плоскостях сравнения.
Заключение
Надеюсь, наш сегодняшний обзор поможет вам выбрать наиболее быстрый и надежный инструмент для своего повседневного веб-серфинга. В заключение хотелось бы дать только один совет: если какая-то сборка чудит или не работает должным образом, просто попробуйте другую! Я специально старался дать возможность выбора, так как информация в этом плане чрезвычайно противоречива: одни хвалят одни сборки, доказывая их невероятные преимущества, тогда как у других они даже не запускаются; поэтому лично я считаю, что собственный опыт и голова на плечах - оно всегда лучше, чем тысяча советов со стороны. |