Война браузеров. Лето 2010

:

Сразу хочу сказать, что данное тестирование будет проведено исключительно в исследовательских целях. Цели выявить лучший браузер нет. Данные будут представлены для ознакомления с имеющимися тенденциями на рынке браузеров.

Война браузеров началась в далёком 1996 году с жестокого противостояния между Netscape Navigator и Internet Explorer. Подробнее можно прочитать об этом на Википедии. Вдаваться в исторический экскурс и лирические отступления я не хочу, поэтому приступлю к самому сравнительному тестированию.

Кого будем сравнивать? Список подопытных кроликов:

1). Opera 10.60.3445
2). Google Chrome 5.0.375.125
3). Google Chrome 6.0.484 Canary
4). Mozilla Firefox 3.6.8
5). Mozilla Firefox 4 beta 2
6). Internet Explorer 8
7). Internet Explorer 9 PP4
8). Safari 5.0.1
9). Maxthon 3.0.15.300 RC
10). Opera 10.70.3468

В некоторых тестах ( на производительность JavaScript ) будет очень важна конфигурация. Вот она:
Intel Core 2 Duo P8400 2,26 GHz
2 Gb RAM
3072 Cache L2
NVIDIA GF 9600M GT 512 Mb
MS Windows 7 Home

Почему Windows 7, а не Linux? Потому что некоторые тесты писались для браузеров под Windows (например Futuremark Peacekeeper), поэтому на моей Ubuntu браузеры выдают намного меньшие результаты в синтетическом тесте. Впрочем, разница между браузерами в той же обработке JavaScript остаётся (как правило). Так что браузеры, которые имеют свои версии под Linux (Google Chrome, Mozilla Firefox, Opera), демонстрируют примерно ту же разницу в результатах. Почему не другие ОС? Потому что их не имею на своих машинах.

Поддержка веб-стандартов и всего такого

Acid3

Тащемта, начнём с поддержки браузерами спецификаций W3C. Самым распространённым тестом на соответствие веб-стандартам является тест Acid3 ( Информация о тесте). Отмечу, что тестовые версии браузеров, которые прошли тест в стабильных ветках, тестировать не буду, ибо пустое занятие. Иногда в некоторых предварительных сборках бывают регрессии в плане прохождения некоторых тестов, но к стабильным веткам всё поправляют.
Итак, поехали:
Opera 10.60.3445

image
Opera 10.60 проходит тест на 100 из 100, но показывает не очень удовлетворительные результаты в плане скорости прохождения теста, хотя вполне приемлемые. Хочу отметить, что тест Acid3 не очень годится для замеров производительности, поэтому не стоит акцентировать внимание на скорость прохождения. Так что Opera 10.70 лишается чести быть протестированной
Chrome 5.0.375.125 Stable

image
Проходит на ура тест на спецификации, есть траблы в скорости прохождения теста, но в случае с Acid3, повторюсь, это некритично. Канарейка также не будет протестирована на Acid3.
Firefox 3.6.8

image
Популярное творение Mozilla Foundation не смогло пройти полностью тест, завалив 6 подтестов. Поэтому придётся запускать тест и на бета-версии Firefox 4.
Firefox 4.0 b2

image
Прогресс в тестовой версии наблюдается, хоть и не такой явный. Бета-версия смогла пройти ещё три теста, пройдя 97 подтестов из 100.
Internet Explorer 8

image
Браузер от Microsoft определенно не может справиться с 80-ью подтестами. Очень плохой результат, да ещё и при заметных тормозах.
Internet Explorer 9 PP4

image
Четвёртая тестовая версия браузера Internet Explorer 9 сделала хороший рывок по сравнению с IE 8. Специалисты, разрабатывающие браузер, смогли «научить» веб-обозреватель ещё 75 подтестам, что очень радует.
Safari 5.0.1

image
Safari 5.0.1 полностью проходит Acid3.
Maxthon 3.0.15.300 RC

image
В тест я решил включить любопытную разработку китайских программистов — Maxthon. Раньше он был известен как MyIE, который по сути являлся надстройкой над Internet Explorer, разбавив его рядом интересных функций, но «сердцем» MyIE/Maxthon являлся движок рендеринга Trident. Разработчикам это надоело и, начиная с 3-ьей версии, развелись с Trident и женились на WebKit, хотя при этом пока сохраняется возможность использовать Trident ( это заявляется как мегакрутая фича ). В-общем, экскурс завершаю. Тест Acid3 «численно» браузер проходит, но вот изображение несколько кривовато, что какбэ намекает о том, что не всё ладно в датском королевстве. Но думаю, что простить разработчиков можно, ибо пока официального релиза не было и время на исправлением багов есть.
CSS3

Сия весёлая вещь для оформления веб-страниц хоть пока полностью и не доработана, но уже используется создателями веб-страниц. Некоторые спецификации уже утверждены консорциума Интернет в качестве рекомендаций, поэтому был разработан тест CSS3 Selectors Test. Итак, вперёд:
Opera 10.60.3445

Opera 10.60 все 574 теста, что не может не радовать. Opera 10.70 протестирована не будет.

Chrome 5.0.375.125 Stable

Все тесты пройдены на «ура». Канарейка опять не будет протестирована.

Firefox 3.6.8

image
Mozilla Firefox реабилитируется за небольшие неудачи в Acid3, пройдя полностью CSS3 Selectors Test. Необходимость тестирования 4-ой версии Огнелиса отпадает.
Internet Explorer 8

image
К сожалению, браузер от Microsoft продолжает портачить и в этом тесте. Пройдены лишь 345 подтестов из 574. Пользователи браузера не смогут любоваться многими возможностями CSS3. Единственное утешение это то, что не все спецификации рекомендованы W3C. Придётся смотреть, как обстоят дела с тестовой версий нового «Эксплорера».
Internet Explorer 9 PP4

image
Тестовая версия Internet Explorer 9 позволяет веб-дизайнерам с оптимизмом смотреть в будущее, понимая, что скоро не надо будет заниматься оптимизацией страниц под каждый браузер. О чём я? А, точно. В-общем, Internet Explorer 9 полностью проходит тест без единой ошибки.
Safari 5.0.1

image
Браузер от Apple отлично справляется с тестом. 574 подтестов пройдены.
Maxthon 3.0.15.300 RC

«Экзотичный» браузер не тушуется перед именитыми конкурентами. Тест пройден.

HTML 5

Новая версия языка разметки уже около года на слуху, порождая массу надежд на то, что скоро можно будет избавиться от всевозможных «прослоек» типа Adobe Flash, MS Silverlight и т.п. Перспектива довольно заманчивая, учитывая, что не все устройства ( например, мобильные ) могут работать с тяжеловесными плагинами, а некоторые ОС ( например, на базе Linux ) некорректно с ними работают, так как либо разработчик не очень рьяно занимается поиском ошибок в плагинах ( Adobe Flash ), либо вообще официально не занимается поддержкой плагина ( MS Silverlight ). Таким образом, HTML 5 способен решить такие проблемы, предоставив новый кроссплатформенный стандарт. Пока язык ещё разрабатывается, но уже существуют некоторые проекты, работающих на HTML 5, начиная от бета-версии видео-хостинга YouTube, заканчивая некоторыми браузерными играми. Чтобы проверить браузеры на готовность принять новейшие стандарты, голландец Niels Leenheer( Официальный сайт ) разработал специальный тест, который можно запустить, перейдя по ссылке.
Что больше всего ждут от HTML 5? Элементы видео, аудио, canvas и геолокация. Остальные спецификации интересны, но не столь популярны в массах ( WebGL, Workers и другие )
Итак, посмотрим, что покажет каждый браузер ( бонусные баллы в результат не войдут, так как прямого отношения к html5 они не имеют ):
Opera 10.60.3445

image
Opera 10.60 набирает 159 баллов. Самые популярные элементы, такие как видео, аудио, геолокация, canvas поддерживаются.
Opera 10.70.3468

image
Сырая альфа-версия Opera не демонстрирует динамику, хотя, по заявлениям разработчиков, некоторые улучшения по работе с HTML 5 были проведены.
Chrome 5.0.375.125 Stable

image
Детище Google показывает очень даже неплохие результаты, набирая 197 баллов. Все особо ожидаемые большинством пользователей элементы поддерживаются.
Google Chrome 6.0.484 Canary

image
Наконец-то «канарейка» появилась в нашем тестировании, набрав уже 217 баллов из 300. Google и разработчики Chromium не дремлют, а продолжают добавлять новые функции.
Необходимо отметить, что прописывая определённые параметры, можно также увеличить результат Google Chrome, добавив браузеру поддержку WebGL. По умолчанию из-за «сырости» спецификации фича отключена.
Firefox 3.6.8

image
Mozilla Firefox поддерживает все основные «вкусности» нового языка разметки, набирая 139 баллов, что не может не радовать.
Firefox 4.0 b2

image
Вторая бета-версия Firefox 4 демонстрирует, какую работу проделали разработчики браузера. Firefox 4 набирает 189 баллов
Необходимо отметить, что прописывая определённые параметры, можно также увеличить результат Mozilla Firefox, добавив браузеру поддержку WebGL. По умолчанию из-за «сырости» спецификации фича отключена.
Internet Explorer 8

image
Свежая стабильная версия Internet Explorer показывает, что абсолютно не готова к работе с новой версией языка разметки HTML. Браузер поддерживает лишь некоторые спецификации HTML 5, при этом не поддерживая самые востребованные функции, такие как видео, аудио, canvas, геолокация.
Internet Explorer 9 PP4

image
В альфа-версии нового браузера от Microsoft видны определённые подвижки в реализации поддержки HTML 5. Браузер поддерживает canvas, video, audio, при этом наотрез отказывается работать с геолокацией и набирает лишь 96 баллов из 300 возможных.
Safari 5.0.1

image
«Яблочный» браузер справляется с прохождением теста несколько хуже Google Chrome 5, но при этом лучше Opera 10.60, Firefox 3.6.8 и обоих версий «Эксплорера». Все востребованные элементы браузер поддерживает, набирая 165 баллов.
На Mac OS X:
image
Спасибо уважаемому пользователю farcaller
Maxthon 3.0.15.300 RC

image
ВНЕЗАПНО, китайский браузер умудрился переплюнуть даже Safari под Windows, набрав 166 баллов, хотя при этом нет поддержки геолокации. Учитывая такой результат Maxthon, другим браузерам стоит принять во внимание, что этот браузер может вполне оккупировать китайский рынок. А их ( китайцев ) там более миллиарда ( хотя, естественно, доступ к Сети имеют куда меньше миллиарда китайцев ).
В Trident-режиме Maxthon набирает 27 баллов, что аналогично результату Internet Explorer 8.

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

Какой промежуточный вывод можно сделать из всего этого безобразия? Рынок браузеров оживился. До 2008 года была какая-то летаргия, но после того, как лаборатории Opera Software ASA и Apple начали рапортовать, что движки Presto и WebKit начали проходить Acid3, начала разгораться новая фаза войны браузеров. Microsoft дремала ровно до тех пор, пока всерьёз не наметилась тенденция захвата рынка со стороны Google Chrome. Лениво спящий Огнелис встрепенулся когда Google отвела свой пристальный взгляд от Firefox и сосредоточилась на своём Chrome. А когда в Хром впихнули поддержку расширений, то совсем стало опасно. Веб-стандарты начали активно внедряться в браузеры Opera, Chrome, Safari. Встрепенулась и Mozilla, принявшись перепиливать свой браузер, расширяя поддержку HTML 5. У Microsoft оказалось больше всего работы. Internet Explorer 8 в плане поддержки спецификаций W3C довольно сильно отстал от конкурентов, поэтому у Microsoft работы сейчас довольно много, учитывая, что IE9 ещё в стадии альфа-версии, а выход бета-версии со всеми вкусностями намечен на осень. А конкурирующие браузеры в своих стабильных ветках имеют многие элементы, которые IE не содержит даже в тестовой. Конечно, многие могут сказать, что из-за корявой поддержки веб-стандартов IE умрёт, но пока динамика такова, что доля браузера от Microsoft последние два месяца только растёт. Конечно, на фоне возникновения некоторых ресурсов, использующих HTML 5 ( браузерные игры ), доля Internet Explorer к осени немного упадёт + возможный ажиотаж с выходом Google Chrome 6, который состоится, скорее всего, в конце лета-начале осени. Эти факторы отнимут долю у MS IE, но угадать что-либо сложно. Говорить о «молодом» участнике тестирования — Maxthon, как о серьёзном конкуренте в мировом масштабе нельзя, да и сам Maxthon использует движок рендеринга WebKit, разрабатываемый преимущественно Apple, Nokia и Google, а не собственный. Так что хоть это и не проапгрейденный «клон» других браузеров ( как, например, Wyzo и CometBird у Firefox, или SRWare Iron и Яндекс Хром в случае с Google Chrome ), но шансов навязать серьёзную конкуренцию у браузера нет.
В-общем, война браузеров пока поутихла летом, всколыхнувшись с выходом бета-версий Firefox. Но промежуточный вывод уже превращается в полноценный вывод, поэтому излияния я свои прерву новой категорией тестирования, а именно производительностью JavaScript-движка.



Производительность


Итак, в последнее время многие пользователи Интернета обращают внимание на то, как быстро и продуктивно браузеры обрабатывают Javascript. Спрашивается, нафига нам какая-то разница в миллисекундах?
1). Миллисекунды вполне могут превратиться в секунды при загруженном фоновыми процессами компьютере или большом количестве вкладок/окон браузера.
2). С развитием HTML 5 появляются возможности для создания, например, игр, которые будут использовать JavaScript. А учитывая глобальность игр, то сценариев на странице может быть много. Все их надо обработать как можно быстрее, ибо тормоза «съедят» геймера. А хорошие движки обработки JS развяжут руки разработчикам, которые могут не заботиться о производительности, создавая даже 3D-игры.

Теперь посмотрим на то, насколько быстро браузеры готовы обрабатывать JavaScript. В качестве тестирования я отказался брать «заинтересованные» тесты типа IE Testdrive, Mozilla Dromaeo, Google V8 Benchmark, Apple Sunspider Benchmark Test. Я, конечно, понимаю, что код всех этих тестов открыт и проверить «подкрутки» может каждый разбирающийся в программировании, но назначение этих тестов несколько другое. Каждый из этих тестов разрабатывался для тестирования движка какого-то конкретного браузера и учитывает особенности того или иного движка. Поэтому другие браузеры могут показать более низкие результаты. Во избежание такой несправедливости, я решил взять «нейтральный» тест Peacekeeper Futuremark. Со стороны я не вижу никакой заинтересованности у компании Futuremark, поэтому я считаю, что это один из наиболее объективных тестов. В тесте проверяется скорость рендеринга в манипуляциях с объектными моделями документа ( DOM ), работа с canvas и некоторые другие параметры
Методика тестирования:
Я отключаю от загрузки многие службы Windows, которые не нужны на время тестирования ( служба времени Windows, Защитник Windows, службы печати и т.п. ), также нафиг вычищаю автозагрузку, оставляя только загрузку видео. То есть всякие IMы, антивирусы, фаерволлы и прочее будут отключены. Конечно, в реальности такие условия маловероятны и не рекомендуются, но я хочу избежать несправедливости, как, например, во время тестирования Opera другие процессы будут простаивать, а во время тестирования Internet Explorer антивирус начнёт проверку компьютера, служба обновлений примется ставить патчи, что отрицательно скажется на результатах.
Также я очищаю все временные файлы браузеров, которые накопились за время прошлых тестов, а компьютер перед каждым тестом будет перезагружен и в течении трёх-четырёх минут после демонстрации рабочего стола подожду дозагрузки системы. В идеале хорошо было бы запускать каждый тестирование несколько раз для каждого браузера и выводить среднее значение, но очень не хочется тратить по полчаса на каждую веб-бродилку. Во время тестирования каждый браузер будет запущен в полноэкранном режиме. Все браузеры будет в комплектации «из коробки», то есть все настройки будут сброшены к дефолтным. В-общем, всё готово.

Поехали!

Opera 10.60.3445

image
Opera 10.60 набирает 7856 баллов. Довольно высокий результат. Движок лучше всего себя показывает в скорости рендеринга, отображении сложной графики, а также работе с текстом.
Opera 10.70.3468

image
Альфа-версия Opera демонстрирует небольшую регрессию, набирая 7720 баллов.
Chrome 5.0.375.125 Stable

image
Google Chrome в общем зачёте сильно отстал от Opera, хотя в подтесте Data показал несколько более высокие результаты, чем «норвежец». Итог — 5735 очков.
Google Chrome 6.0.484 Canary

image
Исходя из теста видно, что разработчикам Chrome удалось оптимизировать JavaScript-движок V8, добавив к «стабильному» результату около 800 баллов, что очень много.
Firefox 3.6.8

Посмотрим, что покажет нам довольно старый движок TraceMonkey.
image
Как видно из теста, движок не просто стар, у него вообще борода выросла по сравнению с ультрасовременными движками Carakan и V8. Возлагаем все надежды на JägerMonkey, который встроен в 4 версию Firefox.
Firefox 4.0 b2

image
Включение части кода движка Safari Nitro сказалась на производительности, повысив результат до 2931 попугаев. Но работы у Mozilla много, а конкуренты не дремлют.
Internet Explorer 8

Посмотрим на проваливающийся во всех тестах Internet Explorer 8. Сможет ли он реабилитировать себя в тесте на производительность?
image
Как выяснилось — нет. Отрисовывать графику canvas браузер вообще не может. Полный провал с 799 баллами.
Internet Explorer 9 PP4

Судя по результатам тестов Microsoft и Apple ( SunSpider ), IE 9 просто монстр в обработке Javascript. Посмотрим на тест нейтрального производителя:
image
Далеко не всё так радужно, как показывают красивые рыбки и астероиды. Видимо, Peacekeeper не использует графику, требующую подключения GPU, поэтому ультрамощный движок Chakra показал довольно средненькие результаты, незначительно превзойдя уже готовящийся выйти на пенсию Firefox 3.6.8. 2450 баллов. Слабенько для альфа-версии, слабенько.
Safari 5.0.1

image
Apple, видимо, не особо озаботилась оптимизацией движка Nitro под Windows ( о чём косвенно намекается на официальном сайте ), поэтому Safari не гонится за производительностью. 3875 баллов:
Maxthon 3.0.15.300 RC

image
Хм, Futuremark, видимо, не знакома с китайским браузером, поэтому не мудрствуя лукаво определила название по движку рендеринга WebKit, обозвав его Safari unknown. Узнать название Javascript-движка, используемого в Maxthon мне не удалось, но китайская веб-бродилка набрала 4519 баллов, да ещё и умудрилась по подтесту Data вынести всех соперников, набрав 14119 очков. Возможно, что китайцы оптимизировали движок V8 Google, ибо он из «большой пятёрки» единственный хорошо работает с подтестом Data.
Общий зачёт:
image

Что ж, итоги неоднозначны. Проприетарный движок Carakan, разработанный инженерами Opera Software ASA, оказался козырным тузом норвежцев, так что на сайте вполне заслуженно висит фраза, что Opera самый быстрый браузер. Google Chrome, видимо, не стремится «сделать» Opera в синтетических тестах, но при этом не хочет упускать далеко вперёд конкурента. Maxthon — тёмная лошадка, которая вполне может составить внезапную конкуренцию «большой пятёрке». Internet Explorer 8 явно умер и козырей, кроме некоторых механизмов защиты, типа SmartScreen и InPrivate, не имеет. А в скорости вообще атас. IE 9 неоднозначен. Нельзя забывать, что браузер показывает неплохие результаты в «голом» виде. Что будет, когда прикрутят GUI со свистелками-перделками, механизмы защиты, плагины типа веб-фрагментов, RSS-агрегаторов и т.п? Преимущество поддержки мощи GPU премного доставляет, но в Chromium уже месяца два с помощью параметров можно прикрутить экспериментальный gpu-плагин, который, правда, из-за жары, расплавленных мозгов и жестоких глюков от смога мне не удалось завести. Opera что-то чудит с графическими библиотеками Vega, которые, по слухам, также связаны с будущим внедрением графического плагина для работы с GPU ( уровень слухов, повторяю. Никаких официальных подтверждений от специалистов мне найти не удалось ). В-общем, пока выкатится финальная версия IE 9, другие браузеры не отстанут. Firefox, по-прежнему, настраивается на дружелюбие к пользователю и возможность настроить браузер под свои нужды. Особого внимания на ультраскорости Mozilla не уделяет, и выразить упрёк даже рука не поднимается. Всё-таки многие расширения для Firefox не имеют аналогов в Хроме ( который имеет, наверное, вторую по мощи базу расширений ), и поэтому горячо нами любимый за открытость Огнелис не потеряет любовь пользователей. Будем надеяться, что разработчики разберутся с проблемами, связанными со сменой старого интерфейса на новый GUI, и примутся за оптимизацию движка. Но это не обязательно. ИМХО, цель Firefox немного в другом, и пользователи браузера, надеюсь, со мной согласятся ;-) Safari под Windows держит марку, обеспечивая удобство пользователям Mac, работающим под Windows. Скорость инженеры наращивают ( хоть и не так рьяно как в Google и Opera SASA ), функции «прикручивают», в-общем, я не вижу особых причин для пользователей Safari менять браузер. В итоге, все новые разработки показывают неплохие результаты. Хочется выразить признательность Microsoft, что компания вняла просьбам пользователей и разработчиков, вынужденным писать костыли для IE 8. Прогресс по сравнению со старой версией очевиден и достоин уважения.

N. B. Многоуважаемый хабраюзер Aux нашёл запись на официальном блоге разработчиков ядра Opera об использовании графических библиотек Vega и аппаратного ускорения.

N. B. 2 Многоуважаемый хабраюзер GreLI нашёл подтверждение того, что в будущих сборках Opera будет включено аппаратное ускорение.

Собираются ли включать аппаратное ускорение в ближайших сборках Opera?

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

Ожидать стоит скорее в какой-нибудь из мажорных версий

Так что война браузеров в самом разгаре =)


P. S. Статья написана на несколько простом языке, ибо хотел показать её заинтересованным знакомым, которые не сильно разбираются в компьютерном устройстве.

P. P. S. Возможно, что добавлю тест на соответствие стандартам спецификации ECMA-262.

P. P. P. S. Буду рад услышать критику, исправления, в случае необходимости, внесу. Ошибки вполне вероятны.