Новый тест производительности оборзевателей?
реклама
Но сначала объясню почему в названии статьи знак вопроса. Люди, не судите производительность оборзевателей по синтетическим тестам! По сложности современные оборзеватели скоро догонят операционные системы. Они содержат 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.1 | 16,5% | 280 MiB |
Хромой 31 | 12,3% | 443 MiB |
Осел 11 | 12,8% | 205 MiB |
Хм, я думал, что загрузка процессора будет поменьше... Производительность хромого и осла одинаковая, леса немного отстала. Но хромой жрет в 2 раза больше памяти. Так что если у лисоводов не хватит процессора, а у хромосапиенс — памяти, то запускайте battlescreen в осле.
реклама
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Сейчас обсуждают