Новый тест производительности оборзевателей?

для раздела Блоги

В конце прошлого месяца EA родила игру Battlefield 4. Продолжение знаменитой серии принесло не только море глюков и лагов, но и интересные нововведения, одно из которых — Battlescreen. Суть его в том, что во время игры силами оборзевателя на второй монитор компьютера в реальном времени выводится игровая карта. Не знаю насколько это удобно, но сия плюшка интенсивно использует современные браузерные технологии: JavaScript и canvas с аппаратным ускорением, а значит годится для измерения пиписек. Сейчас узнаем, каков размер популярных браузеров в батлскринах. :)
Но сначала объясню почему в названии статьи знак вопроса. Люди, не судите производительность оборзевателей по синтетическим тестам! По сложности современные оборзеватели скоро догонят операционные системы. Они содержат 1000 различных компонентов, которые в каждом оборзевателе оптимизированы по-разному. Сайты используют разное их количество и разными способами. Если попытаться задействовать в тесте как можно больше функций оборзевателя, то в результате получим бесполезную «среднюю температуру по больнице». Если тестировать что-то одно, то получим синтетику, которая далека от жизни.

В качестве примера, посмотрите на этот шедевр. В первом тесте леса обгоняет осла на 42%, во втором уже осел обгоняет лесу на 20%. Оба теста измеряют «HTML5». Если резултаты тестов различаются на 62%, то очевидно, что они измеряют разные вещи, причем не совсем понятно какие именно, и как эти результаты влияют на работу оборзевателей в реальной жизни. И что делает автор статьи? Он эти числа усредняет. Фактически теплое с мягким. Потом полученный результат усредняет с «кислым», т.е. с тестами CSS. Потом еще одно усреднение и получаем «лучший браузер».

Лучшего оборзевателя для всех не бывает. И лучшего теста производительности для оборзевателя тоже. Нужно тестировать конкретные сайты. В идеале этим должен заниматься сам пользователь, потому что любимые сайты у всех разные. Основных браузеров осталось всего три штуки, сравнить их самому не займет много времени. В итоге, если человек сидит часами постоянно в Фконтактике, смотрит там парнушку и слушает музон, то лучший оборзеватель — этот тот, который без ошибок проиграет видео, не разрядив при этом весь аккумулятор, и даже позволит сохранить понравившееся видео на диске. А не тот, который быстрее всех распознает лица в вышеприведенном шедевральном тесте.

Мой тест относиться только к работе battlescreen текущей версии. После ее смены результаты могут сильно измениться, так же как и после смены версии оборзевателей. А если на другом сайте вы увидите похожую работающую карту, то это не значит, что лидер моего теста будет впереди и там. Потому что принимать данные, обрабатывать и выводить в графическом виде можно по-разному. Иногда даже незначительное изменение кода может сильно влиять на результаты. У меня был случай, когда на скорость влияла замена в цикле примерно такой строки
 var a = a1, b = b1 
на
 var b = b1, a = a1


Вернемся к нашим баранам. За звание «лучший браузер для батлскрина» будут бороться Леса 25.0.1, Хромой 31 и Осел 11. Никаких расширений на них не установлено. Венда 64-битная 8.1. К сожалению, кости заточили под нее батлу (в моем случае FPS +37% по сравнению с семеркой), поэтому приходится загружать это планшетное отродье.

Теперь нужно решить, какой показатель измерять. Может быть количество кадров в секунду? Нет, этот параметр постоянен и зависит от частоты приема данных от сервера. Ее кости выбрали максимально низкой, что бы не нагружать сервер отправкой данных, а клиента — лишними обновлениями картинки. Значки во время движения не сильно дергаются — и хорошо. Значит будем измерять загрузку процессора. Чем она ниже, тем больше ресурсов останется для игры. Измерять загрузку процессора на глаз — это не серьезно: во-первых она постоянно скачет, а во-вторых у хромого она размазана по нескольким процессам. Нужен утиль, который умеет записывать в файл загрузку процессора выбранными процессами для последующего анализа. В очередной раз выручил старина Руссинович, его Process Monitor умеет сохранять результат наблюдений в текстовый файл. Формула расчета средней загрузки процессора:
(((конечное_user_time - начальное_user_time) + (конечное_kernel_time - начальное_kernel_time)) / время_измерения_сек / количество_ядер_процессора) * 100


Главное не забыть включить в браузере аппаратное ускорение, без него battlescreen поставит на колени любой процессор. Так же нужно позаботиться, что бы игра оставила достаточно ресурсов процессора для работы браузера. Мой 2500K даже без разгона во время игры простаивает 20% времени. Для очистки совести я выкрутил настройки графики на максимум, в результате загрузка процессор упала до 60%.

Процесс тестирования происходил так. Отключил энергосбережение процессора. Зашел на сервер, карта с плотиной, играют 64 человека. В игре сменил полноэкранный режим на оконный, что бы окно не сворачивалось во время измерения. В меню игры открыл общий счет, там FPS ниже, чем на экране выбора точки возрождения. В браузере развернул карту (квадрат в правом нижнем углу) и окно (F11). После этого измерял загрузку процессора всеми процессами оборзевателя в течении 3 минут. Тест проводился 2 раза, что бы убедиться в повторяемости результата.



Результаты:
 Средняя загрузка
2500K (4 ядра, 3.4 ГГц)
Занимаемая память
(working set)
Леса 25.0.116,5%280 MiB
Хромой 3112,3%443 MiB
Осел 1112,8%205 MiB

Хм, я думал, что загрузка процессора будет поменьше... Производительность хромого и осла одинаковая, леса немного отстала. Но хромой жрет в 2 раза больше памяти. Так что если у лисоводов не хватит процессора, а у хромосапиенс — памяти, то запускайте battlescreen в осле.
Telegram-канал @overclockers_news - это удобный способ следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.
Оценитe материал
рейтинг: 1.0 из 5
голосов: 2

Возможно вас заинтересует

Популярные новости

Сейчас обсуждают