Александр Навагин
Пастор секты свидетелей Xiaomi, любитель металла, футбола, рыбалки, истории. Почти инженер и историк по образованию, шут по призванию, чудак по жизни

Почему бенчмарки и тесты не отражают реальную производительность смартфона

Почему бенчмарки и тесты не отражают реальную производительность смартфона
© Macworld

Для оценки производительности смартфонов активно используются специальные приложения-бенчмарки. Они нагружают устройство некими ресурсоемкими задачами и, опираясь на скорость их выполнения, выносят свой вердикт в виде оценки.

Казалось бы, все предельно просто: чем лучше балл, чем скорее выполняется тест – тем мощнее работает чипсет, и тем быстрее будет смартфон. Но на практике все немного иначе, и тестовые приложения часто не могут объективно отражать производительность смартфона в реальных задачах. Устройство, набирающее больше «попугаев», может работать медленнее набирающего меньше.

Накрутка баллов

Результаты Kirin 980 с накруткой (черный график) и без (серый) © Forbes
Результаты Kirin 980 с накруткой (черный график) и без (серый) © Forbes

Распространенной практикой, в которой неоднократно уличали производителей (Huawei, Samsung, OnePlus), является накрутка рейтингов. На этапе разработки смартфона в его ПО закладывается особый сценарий работы с бенчмарками. Запуская приложение для тестирования, такой аппарат может вести себя совершенно иначе, чем в прикладном ПО.

«Понимая», что запущен бенчмарк, операционная система активирует особый режим управления питанием, заточенный на производительность. В нем ядра не спешат сбрасывать частоты и уменьшать потребление энергии, как бы сделали это в браузере, плеере или игре. В итоге смартфон демонстрирует скорость работы, которая на практике невозможна.

Управление энергопотреблением

На практике смартфон гибко управляет частотами, а в бенчмарках - нет
На практике смартфон гибко управляет частотами, а в бенчмарках - нет

Конечно, производитель мог бы разрешить процессору смартфона работать на полную катушку и в других задачах, а не только тестах. Но этому мешают объективные причины. Тестирование, как правило, длится краткое время, и смартфон не успеет достичь критического перегрева или разрядиться. Поэтому производитель допускает нагрузки сверх нормы.

Если говорить о прикладном ПО (например, играх или плеерах), нагрузка запросто может длиться не 10 минут, а несколько часов. Если чипсет все это время будет работать на полную мощность – он перегреется, а заряд батареи уйдет на глазах. Инженеры не могут позволить этого: смартфон, который перегревается и не держит заряд, никому не нужен. Поэтому, для достижения золотой середины между скоростью и автономностью, они разрабатывают специальные режимы управления процессором в ОС.

Режим управления питанием – весьма сложная штука, работающая по хитрым алгоритмам. Он настраивается на этапе разработки прошивки, а при работе смартфона учитывает характер нагрузки, ее длительность, температуры железа и другие параметры. Исходя из них, задается режим работы чипсета.

Из-за сложности механизма, и разнородности нагрузок на железо (одной программе нужны все ядра на пару минут, другой – одно, но постоянно, и т.д.), пользователю практически нереально определить, как именно ведет себя чип в той или иной задаче. Все это остается «за кадром».

Высокий балл в бенчмарке может сопровождаться медлительностью в долговременных нагрузках, а кажущаяся низкой оценка – на практике компенсироваться тем, что в реальности ядра быстро работают на полную, выполняют свою задачу и снова «засыпают». Бенчмарк же никак не отражает этих нюансов поведения, так что объективным мерилом быть не может.

Искусственность задач

Большинство задач в тестах имеют слабую связь с реальностью

Усугубляет ситуацию искусственность задач, которыми бенчмарки нагружают смартфон при тестировании. На объективность больше всего претендуют тесты 3D, испытывающие графический профессор. Они заставляют GPU рендерить трехмерную картинку, то есть делать то же самое, что и игры. Поэтому тестам 3D верить можно больше всего.

С процессорной частью ситуация иная. Чтобы нагрузить ядра, программы заставляют их вести какие-то сложные монотонные расчеты, кодировать данные, обрабатывать код, страницы, двухмерные объекты. Причем делается это в режиме статичной нагрузки. Процессор, действительно, выполняет такие задачи в реальных ситуациях. Но специфика там совершенно иная.

Очень редко ЦП приходится вести долгие расчеты или использовать одну часть. Обычно от него требуется быстро обработать что-то сравнительно небольшое (например, отрендерить страницу сайта в браузере) и снизить частоту, а не заниматься этим постоянно. В итоге на практике получается не то, что в тестах.

Если сравнивать работу процессора с работой грузчика, то реальные задачи требуют от него взять мешок и быстро положить в прицеп, а бенчмарки заставляют бегать с этим мешком по территории склада. А ведь вовсе не факт, что тот, кто быстро бегает с мешком, так же быстро сможет эти мешки грузить, потому что характер задач отличается.


Чтобы объективно оценить производительность смартфона в прикладных задачах, бенчмарк должен нагружать его именно ими, соблюдая приближенные к естественным условия. Если в процессе тестирования программа заставляет железо листать веб-страницы, открывать приложения, работать с камерой, открывать и создавать фото и видео, и т.д. – результат оценки будет иметь какую-то практическую ценность. Но таких бенчмарков мало, обычно они нагружают чипсет этакими «сферическими в вакууме» задачами, отличающимися от реальных.

Программы для тестирования производительности, работающие по оторванному от реальности сценарию, гораздо менее объективны. Если один смартфон набирает больше баллов, чем другой, то это говорит лишь об одном: в таком-то бенчмарке аппарат A мощнее, чем аппарат Б. Но это вовсе не значит, что он будет мощнее и в практическом использовании.