Объективный тест браузеров
Провести данное исследование меня заставил постоянный свопинг во время длительных сессий листания Интернет. Множество открытых страниц часто занимают более 4 ГБ оперативной памяти, однако даже если по диспетчеру задач у системы ещё есть свободная "оператива", долгая работа без перезагрузок компьютера приводит к появлению раздражающих тормозов. Попробовав пару "альтернативных" браузеров, я не нашёл принципиальной разницы в их долгосрочном поведении, поэтому, в один прекрасный день, решил проверить всех возможных кандидатов на роль повседневного браузера в одинаковых условиях.
Тест проводился на компьютере с процессором Pentium E6600 и 4 ГБ DDR3 памяти.
Версии протестированных программ:
Google Chrome 18.0.1025.152 m
Internet Explorer 8.0.6001
Maxthon 3.3.6.2000
Mozilla Firefox 11.0
Netscape Navigator 9.0.0.6
Opera 11.62
Safari 5.1.5
Поскольку тест проводился под Windows XP, обновить Internet Explorer до версии 9 не представлялось возможным, однако хочу заметить, что даже восьмая версия под Windows 7 ведёт себя существенно лучше, чем под XP. Слава богу, что у нас есть множество альтернативных браузеров, ведь современный веб-контент в интерпретации IE8 ставит на колени даже очень мощные компьютеры.
Netscape Navigator попал в тестирование практически случайно, ведь его разработка давно прекращена, однако беглый осмотр показал, что старичок ещё вполне бодр, да и игнорировать извечного конкурента IE было бы кощунством.
Остальные браузеры представлены последними на момент тестирования версиями, правда, по его окончании Google Chrome уже успел обновиться. Этот молодой и амбициозный проект по темпам развития определённо превосходит все остальные, но это говорит лишь о том, что в браузере ещё есть, что улучшать. Что именно - станет ясно в ходе тестирования.
Лейтмотивом исследования было выяснение расхода памяти в различных ситуациях, но только памятью дело не ограничилось. По ходу дела я проверил основные эргономические показатели, и тут меня ждало много открытий. Но, для начала, необходимо подробнее рассказать по поводу расхода памяти.
В среде Windows XP есть множество показателей использования памяти, однако самый страшный из них можно наблюдать только с помощью специальных программ, например Process Explorer. Называется он Virtual Memory, и это не совсем та "виртуальная память", которую вы можете видеть в диспетчере задач русской версии Windows XP. "Та" память в англоязычной версии звётся Commit Memory и является лишь частью виртуальной памяти, реально задействованной процессом, поскольку не включает в себя память, разделяемую с другими процессами. За это её и называют Private memory. Working set (Рабочий набор) включает в себя и разделяемую память, но показывает только ту часть виртуальной памяти, которая была задействована процессом в обозримом для диспетчера памяти промежутке времени. Так, свёртывание приложения мгновенно запускает "уборку" физической памяти и рабочий набор резко сокращается, однако при этом не происходит никакой дисковой активности, ведь занятая процессом виртуальная память остаётся неизменной.
Точно определить объём памяти, занимаемый приложением, досточно сложно и, по большому счёту, не нужно. Он где-то между виртуальной памятью, отображаемой диспетчером задач Windows и Virtual set, отображаемом Process Explorer. Для полноты картины я запротоколировал оба числа, а также величину рабочего набора после свёртывания приложения. В дальнейшем через дробь указаны суммарные значения Working, Private и Virtual set для всех процессов, запущенных браузером.
Первое задание для подопечных очень простое - открыть страницу yandex.ru.
netscape 24 / 37 / 132
opera 12 / 87 / 168
firefox 94 / 83 / 270
iexplorer 86 / 81 / 367
chrome 54 / 88 / 435
maxthon 140 / 169 / 474
safari 104 / 163 / 561
Самым прижимистым оказался старичок Netscape, но Opera оккупировала меньше физической памяти. Firefox зарезервировал под свои нужды немного меньше виртуальной памяти чем, Opera, однако Virtual set намекает, что реально Firefox отнюдь не так скромен, как хочет казаться. Об этом же сигнализирует и объём занимаемой физической памяти. Internet Explorer оказался даже немного экономичнее в плане физической и частной памяти, однако позарился на целую треть гигабайта виртуальной. Chrome мог бы потеснить Firefox с третьего места, если бы не раскатал губу на четыреста мегабайт виртуальной памяти. Ну а два аутсайдера отличились совсем уж нескромными аппетитами для всего лишь одной открытой веб-страницы.
Походив некоторое время по ссылкам, я остановился на странице fotki.yandex.ru.
netscape 41 / 73 / 221
opera 19 / 152 / 310
firefox 122 / 109 / 382
iexplorer 108 / 102 / 404
chrome 134 / 166 / 604
maxthon 203 / 227 / 663
safari 136 / 174 / 694
Картина ничуть не изменилась: наиболее экономичен Netscape, Opera занимает наименьший объём физической памяти, а Internet Explorer проигрывает Firefox только по виртуальной. Зато Chrome показал зубы, и больше не пытается казаться кротким, хотя до аппетитов Maxthon ему ещё далеко. Последний опять стал худшим по всем показателям, кроме расхода виртуальной памяти. Но и 600 МБ на одну открытую страницу у Chrome - это сильно!
А теперь откроем в новой вкладке 12 мегапиксельную фотографию.
netscape 85 / 107 / 256
opera 20 / 196 / 356
firefox 125 / 112 / 383
iexplorer 199 / 181 / 648
chrome 180 / 229 / 658
maxthon 265 / 293 / 728
safari 189 / 135 / 757
Расстановка по-прежнему без изменений, хотя Internet Explorer уже вплотную приблизился к Chrome по расходу виртуальной памяти, а по физической и вовсе перегнал его.
Тут самое время заметить, что не все браузеры одинаково полезны при просмотре фотографий. При уменьшении изображения трое из них не делают даже билинейной фильтрации, из-за чего мы имеем счастье лицезреть различные артефакты вроде зубцов на плавных линиях и муара на регулярных узорах. Стоит ли удивляться, что провинились именно те браузеры, которые потребляют меньше памяти? Internet Explorer и тут умудрился оказаться между лидерами и аутсайдерами: при первоначальном открытии картинки он исправно фильтрует её уменьшенную копию, но если увеличить фотографию до истинных размеров, а потом снова уменьшить, то фильтрация не производится. Чтобы вновь увидеть нормальное изображение нужно перегрузить картинку клавишей F5 или исполнить шаманский танец со свёртыванием окна бразера и развёртыванием его на весь экран по ходу увеличения и уменьшения фотографии. Chrome ведёт себя хитро: при открытии фотографий он также отображает нефильтрованную уменьшенную копию, но стоит задержаться на вкладке с фотографией хотя бы на пару секунд, как тыква превращается в карету :)
Усложним жизнь браузерая, открыв фотографию "весом" 24 МП.
netscape 119 / 140 / 290
opera 20 / 265 / 425
firefox 219 / 206 / 476
chrome 221 / 270 / 756
maxthon 304 / 331 / 765
safari 232 / 272 / 836
iexplorer 242 / 223 / 979
Тут у Internet Explorer окончательно сдали нервы и он отхапал себе почти гигабайт виртуальной памяти. Netscape, напротив, радует минимальным расходом виртуальной памяти, а Opera продолжает демонстрировать чудеса экономности по части памяти оперативной . В остальном всё без изменений.
На этом 24-мегапиксельном полотне, развёрнутом в полный размер, я проверил, как браузеры справляются со скроллингом. Первая цифра - субъективная оценка плавности прокрутки, через дробь - приблизительная загрузка процессора в процессе непрерывного перемещения, вызываемого нажатием колеса мыши.
firefox 5 / 5%
opera 5- / 9%
netscape 4 / 13%
maxthon 4- / 12%
chrome 3 / 10%
safari 2 / 32%
iexplorer 1 / 49%
Да уж, способности Internet Explorer поражают: для прокрутки такого фото он полностью загрузил одно ядро Core 2 с частотой 3 ГГц! Safari ушёл от него не далеко, а Chrome просто не может обеспечить плавной отрисовки, несмотря на низкую загрузку процессора. Кстати, отсутствие плавности при прокрутке страниц долгое время было бичом этого бразуера, но версии эдак к восьмой рендерер доработали до терпимого состояния. Что интересно, Maxthon третьей версии поселился на моём компьютере именно потому, что плавнее отрисовывал фотографии, и на текущий момент он всё ещё лучше Chrome.
Ну а группа лидеров у нас не меняется - три браузера, которые не производят фильтрацию изображений при уменьшении, плавнее прокручивают "полотна" и потребляют значительно меньше памяти, но смотреть в них уменьшенные копии изображений, мягко говоря, неприятно. Налицо оптимизация движка Mozilla, который лежит в основе Firefox и Netscape: современная версия почти в три раза меньше занимает процессор, а памяти потребляет не так уж много. Может и сглаживание изображений скоро добавят?
Теперь закроем вкладки с фотографией, страницей fotki.yandex.ru, и опять откроем yandex.ru
netscape 48 / 72 / 230
opera 35 / 151 / 312
firefox 114 / 102 / 373
iexplorer 93 / 88 / 379
chrome 64 / 100 / 490
maxthon 192 / 219 / 661
safari 134 / 199 / 774
Internet Explorer благополучно избавился от балласта и практически вернулся к тем цифрам, которые были получены в самом первом опыте, а вот Firefox не смог или не захотел этого делать, что не помешало ему чисто номинально сохранить за собой третье место. Opera и Nescape заняли примерно вдвое больше памяти, чем в первом тесте, но это также не повлияло на их места. Хуже всех с задачей освождения памяти справился Maxthon.
Второй этап теста имел целью прояснение наиболее актуальных способностей браузеров - просмотр веб-страниц популярных сайтов. Для этого я открыл в каждом браузере по три вкладки со статьями с сайтов overclockers.ru, fcenter.ru и ixbt.com, но, чтобы не разбрасывать цифры по всей статье, сначала поведаю о расходе памяти.
netscape 51 / 127 / 282
opera 56 / 207 / 355
firefox 187 / 172 / 370
maxthon 239 / 264 / 609
chrome 212 / 245 / 629
safari 201 / 270 / 747
iexplorer 438 / 436 / 1264
На этот раз с IE8 случилась форменная истерика, и он в разы переплюнул все остальные браузеры. В остальном всё по-прежнему, если не считать рост аппетита Chrome, который затребовал чуть больше виртуальной памяти, чем Maxthon.
Далее я читал открытые статьи, перемещаясь по тексту плавным скроллингом (после нажатия колеса мыши), ступенчатой прокруткой (поворотом колеса мыши) и быстрым скроллингом (тасканием ползунка на полосе проркутки). И вот, что из этого вышло.
firefox 5-
netscape 5-
opera 4-
iexplorer 3-
maxthon 2+
chrome 2
safari 2-
Firefox отличился самым удобным управлением скоростью плавной прокрутки и хорошей плавностью на малых скоростях, но с ростом скорости прокрутки текст начинает перемещаться рывками, бросаются в глаза подёргивания рисунков и появляются разрывы изображения в различных частях экрана. Учитывая, что этот браузер умеет использовать для рендеринга страниц аппаратную акселерацию, с хорошей видеокартой он может оказаться совсем идеален, но и без помощи видеокарты конкуренцию ему смог составить лишь Netscape.
Navigator порадовал самой "мягкой" отрисовкой страниц при малых скоростях прокрутки, читать текст с него было наиболее комфортно. Чего не скажешь об управлении скоростью: минимальная достаточно высока и требует навыков скорочтения, а максимальная достигается лишь при очень больших смещениях мыши относительно точки нажатия колеса. Из других недостатков - небольшие флуктуации скорости скроллинга в зависимости от отображаемого на экране, а также мельтешение картинок и диаграмм.
Opera отличилась отсутствием разрывов изображения на средних скоростях скроллинга, но перемещение содержимого экрана происходит микрошажками, ухудшающими читаемость текста и переходящими в откровенные рывки с ростом скорости. Диаграммы на overclockers при этом неприятно мерцают, а flash в статьях iXBT причудливым образом растягивается. Управление скоростью скроллинга удобное, однако сдвинуть страницу одновременным нажатием колеса и смещением мыши нельзя - она будет прокручиваться до тех пор, пока вторично не нажмёшь на колесо мыши. Вместе с ощутимой заторможенностью реакций браузера это создаёт неповторимый эффект кинетической прокрутки :)
IE8 являет полный букет неприятных спецэффектов: тут вам и сильное мерцание экрана, и перемещение рывками (скорее милли-, чем микро-) на малых скоростях, и разрывы изображения на средних. Управление скоростью скроллинга очень неудобное: сначала отклонение мыши оказывает минимальное влияние на скорость скроллинга, а затем вдруг страница резко уносится "вдаль".
Однако три браузера на WebKit умудрились выступить ещё хуже, чем Internet Explorer! Всё жутко мерцает, текст можно читать только на минимальной скорости скроллинга, увеличение скорости приводит к невыносимому мельтешению. Maxthon отрисовывает страницу чуть быстрее, чем Chrome, у которого всё дёргается на любой скорости перемотки, но Safari ещё тормознее - у него даже прокрутка с помощью колеса мыши не плавная!
Зато Chrome реабилитировался в тесте на скорость выполнения скриптов. В статьях overclockers.ru числа на диаграммах автоматически пересчитываются в проценты при наведении мыши на одну из полосок, и для некоторых браузеров диаграмма с парой десятков полосок оказалась непосильной ношей!
firefox 5
chrome 5-
maxthon 4
safari 4
netscape 3
opera 2
iexplorer 1
Firefox на трёхгигерцовом Core 2 пересчитывает диаграммы совершенно незаметно. Chrome чуть медленнее, но без криминала. Maxthon и Safari считают не слишком быстро, но во время расчёта не реагируют на повторный вызов того же скрипта, за счёт чего не доставляют никаких неудобств - маркер просто перескакивает на нужную полоску, минуя промежуточные "остановки". Netscape считает скрипты без халтуры и не слишком быстро, в связи с чем возникает ощутимая заторможенность реакций, но она не идёт ни в какое сравнение с тугодумством Opera и феноменальной тормознутостью IE8. Они исправно запускают скрипт для каждой полоски, по которой прошла мышь, ставят их в очередь и сосредоточенно считают, не откликаясь на другие команды.
А что будет, если совместить скроллинг страницы с пересчётом скриптов?
chrome 4
firefox 3
maxthon 3-
safari 3-
netscape 2
iexplorer 0
opera 0
Реванш Chrome! Всё ж таки вычислительную часть движка ему оптимизировали очень здорово, осталось оптимизировать отрисовку экрана хотя бы до уровня Maxthon. Maxthon и Safari, построенные на движке WebKit2, опять практически неотличимы, а Opera и IE8 во время скроллинга просто не реагируют на прохождение полоски под курсором мыши.
Ну что ещё сказать про Сахалин? Пожалуй, отмечу возможности браузеров по охране труда пользователя. Firefox не только восстанавливает предыдущую сессию после аварийного завершения, но и предлагает продолжить её после любого другого способа прекращения работы, что весьма и весьма похвально. Кроме Opera, больше ни один браузер такими способностями не обладает, хотя предок Maxthon, MyIE2, помнится, умел восстанавливать предыдущую сессию, даже если его закрыть крестиком. Хуже стало. Safari не восстанавливает даже аварийно прекращённую сессию, становясь единственным аутсайдером в данной дисциплине.
Ещё я попытался определить, какой из брайзеров быстрее стартует. Серия групповых запусков браузеров показала, что меньше всего времени требуется Chrome. Firefox стабильно приходил вторым, а IE8 замыкает призовую тройку, регулярно опережая Safari. Netscape, Opera и Maxthon запускались дольше всех, но я не отключал браузерам стартовую страницу, которую они сделали себе после инсталляции, в связи с чем эксперимент нельзя считать чистым.
Как ни крути, а победителем этого теста стал Firefox 11. Браузер практически без слабых мест, единственным серьёзным недостатком которого оказалось отсутствие фильтрации при уменьшении изображений. Он доминировал во всех дисциплинах, кроме расхода памяти, но и тут его можно упрекнуть только в нежелании освобождать память после закытия вкладок. По большому счёту, это нельзя считать недостатком, ведь если Firefox закрыть и запустить снова, он восстановит все открытые ранее страницы.
Второе место могла бы получить Opera, но её подводит странная эргономика: вкладки при развёрнутом на весь экран окне браузера на один пиксел не дотягиваются до края экрана, из-за чего возникает ломка шаблона, сформированного Chrome и Maxthon. Но больше всего раздражает невозможность "дёрнуть" страницу на короткое расстояние при помощи колеса мыши. Эдакий драг-энд-дроп наоборот, поддерживаемый всеми остальными браузерами, здесь не работает. Зато в активе - минимальный расход оперативной памяти и очень быстрая отрисовка экрана, что делает Opera незаменимой на старых компьютерах (особенно, ноутбуках). Но не удивляйтесь появлению свопинга, ведь виртуальной памяти браузер потребляет намного больше, чем физической. Оценку также можно снизить за отчаянные тормоза при пересчёте диаграмм на overclockers.ru, поэтому Opera получает лишь почётную медаль "За заслуги перед Отечеством", а второе место достаётся Chrome.
Google Chrome становится лучше с каждой новой версией (на сегодняший день уже 18-ой!), но при этом растёт и потребление памяти, а недостатков всё ещё предостаточно. В первую очередь ему необходимо доработать рендерер, чтобы он плавнее рисовал страницы при прокрутке. Есть и некоторые эргономические проколы, например до сих пор нельзя посмотреть параметры изображений (размер в пикселах и т.п.), но во всём остальном этот браузер заслуживает похвалы, если в вашем компьютере достаточно оперативной памяти.
Третье место заслужил Maxthon 3. Если закрыть глаза на очень нескромные аппетиты по части памяти (которые с выходом обновлений постепенно уменьшаются), он выступил достаточно успешно, кое в чём даже превосходя Google Chrome. Его главный недостаток - невозможность смены раскладки клавиатуры сочетанием клавиш Alt-Shift или Ctrl-Shift для полей ввода на вкладках. Многие "многовкладочные" браузеры проходили через это, и Maxthon должен пройти. Лично я продолжу использовать его для просмотра фотографий в Интернете, ведь множество открытых вкладок и большие изображениями он переваривает лучше Chrome.
Четвёртое место Netscape Navigator могло бы быть вторым, если бы не прискорбный факт, что поддержка этого браузера давно прекращена. В наше время довольно таки опасно пользоваться браузером, который не обновляется, однако в работе Netscape оказался очень хорош. Во всех испытаниях он неизменно оказывался лучшим по потреблению памяти, правда он единственный страдал заметными утечками памяти. Отрисовка страниц у Netscape почти идеально плавная, чем до сих пор не могут похвастаться новомодные браузеры на WebKit2. Скорость работы скриптов пусть и не рекордная, но по сравнению с Internet Explorer 8 вполне нормальная.
Internet Explorer под Windows XP совершенно неприспособлен к современному Интернету: он отчаянно тормозит и потребляет чудовищное количество памяти, поэтому его можно использовать только для эпизодического просмотра какой-нибудь странички, которую следует тот час же закрыть.
Safari я бы назвал недобраузером: да, им вполне можно пользоваться, но все остальные браузеры (кроме IE8) лучше.
По материалам overclockers.ru