19 июня 2019

Берёзки NEWS №76. Кто ворует пиксели у игроков?

Даже самые дорогие смартфоны с самыми производительными чипсетами не подпадают под понятие «игровые». И Snapdragon 855 не исключение. Проводим расследование и ищем виноватых.

Источник основы изображения — openet.com

Всем привет!

С выходом новых флагманов, этих дорогих игрушек для перфекционистов, как-то сама-собой ушла в сторону мысль о необходимости измерять производительность смартфонного железа. Почудилось, что современные флагманские чипсеты могут без напряжения решать любые существующие в Google Play задачи. А ведь это не так. А если измерять эту самую «производительность», то чем? Мы можем сравнивать производительность устройств между собой, но какое отношение к реальному пользователю это имеет? Мы можем определить абсолютную производительность любого смартфона, но почему мы этого не делаем с новыми флагманами? О чем же речь? Пока все не запутались, предлагаю перейти в сегодняшнее меню.

Оглавление

  1. Выводим определение абсолютной производительности для смартфонов
  2. Чем замерять FPS?
  3. Реальная производительность современных смартфонов
  4. Считаем пиксели в секунду
  5. Выводы

Выводим определение абсолютной производительности для смартфонов

Любой знает, что ничто так не напрягает чипсет смартфона как игра с тяжелой графикой. А если эту игру надо выводить на экран с высоким разрешением, то все чипсеты Snapdragon, Kirin, MT и Exynos начинают жечь ладони пользователя. В отдельно взятых смартфонах производитель позаботился о человеке, разместив между задней крышкой и чипсетом какую-никакую прокладку, или оставив воздушную прослойку. И чипсеты таких смартфонов быстрее других сбрасывают тактовую частоту, а у игрока начинается слайд-шоу перед глазами. Так что вопрос «тепленько или горячо» можно задать и по-другому: «слайд-шоу или поиграть». И это первый тезис, который ляжет в основу для вывода определения «абсолютной производительности». И звучать он будет как «стабильность».

Изображение psafe.com

У большинства современных смартфонов экран обновляется с частотой 60 Гц. Это не касается частоты обновления интерфейса Android, у которого в режиме ожидания и отрисовке в 2D-рендеринге может быть 1-5 кадров в секунду. Нас интересует производительность абсолютная, а не относительная (сравнение FPS в разных приложениях на одном смартфоне) и не сравнительная (сравнение FPS в одном приложении на разных смартфонах). А значит, верхним пределом измерения абсолютной производительности станет значение 60 FPS, не больше (мы не увидим результат) и не меньше (разница между 30 и 60 FPS в шутерах и гонках очень заметна).

ПК-геймера заменим на владельца флагмана, консольщика на владельца дешевого Xiaomi, и уравнение останется верным. Изображение imgflip.com

Поговорим о разрешении экрана. Android и iOS – это совсем не те операционные системы, где пользователь может сам выставить разрешение монитора (экрана). Получая в магазине новый смартфон, мы можем быть уверены, что все предустановленные приложения, в своей работе замещающие интерфейс ОС, будут выводится на экран в разрешении, указанном на коробке. Это не касается отдельно взятых производителей, которые добавляли аппаратное сглаживание и Anti-aliasing, чтобы продавать MT6582 в смартфонах с экранами HD+ (больше, чем 720p). Если на коробке девайса написано FullHD, то для всех предустановленных апплетов это будет родное разрешение. Изменить штатными средствами ОС разрешение стороннего приложения тоже ни у кого не получится. И сторонние приложения такими внутренними настройками нас не часто радуют. Исходя из этого добавим еще один тезис: «Если у смартфона разрешение экрана составляет величину N, то производительность чипсета должна оцениваться в приложениях в разрешении N».

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

Из этого определения можно сделать вывод, что смартфону только тогда «хватает производительности», только тогда у него «нет никаких проблем с производительностью», только тогда его производительность «избыточна», когда он тянет в родном разрешении экрана абсолютно все приложения и игры с 60 FPS ± 2% (на погрешность) продолжительное время (чтобы пользователь успел получить удовлетворение). Современные флагманы этого не дают, но об этом ниже.

Чем замерять FPS?

Почти все современные бенчмарки не могут дать адекватной оценки абсолютной производительности отдельно взятого смартфона. Условный пользователь каждый день запускает не Antutu или Geekbench, а PUBG Mobile, Modern Combat 5 или Asphalt 9. Нам не нужно знать FPS в бенчмарке, как не нужно нам знать и количество баллов, полученных при решении математических задач.

К сожалению, не так много бенчмарков, которые измеряют FPS в реальных приложениях без Root-доступа и ведут онлайн-отчет. Это довольно странно, так как вывод технической информации поверх любого запущенного приложения является базовой отладочной функцией Android и iOS. К счастью, существует приложение GameBench. Установка приложения происходит в несколько этапов. Сначала скачиваем и устанавливаем приложение, затем в настройках смартфона включаем «режим разработчика» и «отладку по USB». При первом запуске приложения нам предлагают пересесть за ПК и скачать с сайта GameBench малюсенькую программу под названием GameBench Launcher.

Наверное, опытные пользователи Android уже поняли, что это красиво оформленное ADB-меню, которое и включит возможность вывода «родного» счетчика FPS Android на экран смартфона. Так и есть. Если кто-то из читателей захочет проверить свой смартфон с помощью GameBench и столкнется с трудностями, то не стесняйтесь задавать вопросы, информационная помощь не заставит себя ждать. Задача основного приложения GameBench заключается в определении среднего значения FPS (в базовой версии). Стартует счетчик из приложения, а прекращает счет при нажатии на кнопку «Стоп», выведенную на экран поверх запущенного приложения. Инструмент выбран, перейдем к результатам.

Реальная производительность современных смартфонов

Возьмем, для примера, популярный Honor View 20 за 30 000 рублей, внутри которого «живет и работает» чипсет HiSilicon Kirin 980. Разрешение экрана смартфона составляет 2310×1080 пикселей, изображение выводит графический ускоритель ARM Mali-G76 MP10. Чипсет относится к топовому сегменту, казалось бы, можно выкручивать графику на максимум в любой игре и спокойно играть. Увы, это не так. Есть такая уже не новая игра PUBG Mobile, нагревающая наши смартфоны динамическими сценами. А в настройках игры есть параметры качества графики, после снижения которых до минимальных (плавный, или «Smooth» в английской версии игры), становится доступна опция максимального количества кадров в секунду (FPS не ограничивается).

Источник — gamebench.net

Ни Honor View 20, ни iPhone XS Max (A12 Bionic), ни Galaxy Note 9 (Exynos 9810) не могут рендерить тестовую игру в родном разрешении экрана. После упрощения графики приложение выставляет рендер 720p (чуть больше у iPhone), а зерна пикселей размазываются тонким слоем по всему экрану благодаря сглаживанию.


Источник — gamebench.net

В более «легкой» игре Modern Combat 5 недостаток производительности Honor View 20 ощущается не так сильно, особенно на фоне Galaxy Note 9. Значения в 60 FPS удается достичь на максимальных настройках графики.

А что же с более современными чипсетами? Например, с Qualcomm Snapdragon 855 и Samsung Exynos 9820? Не имея возможности проверить лично, остается только искать информацию на доверенных ресурсах. Сообщество XDA Developers является таким надежным источником. В старой игре PUBG новые смартфоны Samsung Galaxy S10 (Exynos 9820) и S10+ (Snapdragon 855) выдали желаемые 60 FPS только при уменьшении рендера с штатного 1440p до 1080p.


Источник — xda-developers.com

Отмечается, что для достижения стабильных 60 FPS пришлось использовать сторонний инструмент для настройки (деградации) графики PUBG Mobile под названием GFX Tool. Казалось бы, все хорошо, но так происходит ровно до тех пор, пока владельцы смартфонов на базе Snapdragon 855 или Exynos 9820 не сталкиваются с игрой SHADOWGUN LEGENDS. В этой игре не удалось достичь заветных 60 FPS обоим чипсетам, SDM855 показал 56 FPS (медиана 60 FPS недостижима), а Exynos 9820 35 FPS в родном для экрана разрешении рендера.

Snapdragon 800 — 5-26 FPS, минимальное качество графики.
Источник — мой Sony Xperia Z1 Compact

Для полноты отображения всей картины — старый добрый Snapdragon 800 в смартфоне с HD-экраном уже совсем не подходит для PUBG Mobile, т.к., не может достигнуть 60 FPS ни при каких условиях, как и во множестве других современных играх.

Считаем пиксели в секунду

Насколько я знаю, никто еще не предлагал считать производительность в 3D-программах с помощью метода, который предлагаю. Если это не так, то поправьте меня. Процесс современного отображения 3D-игр на экране можно сравнить с конвейером, где условная лента рендера с определенной скоростью (в секунду) поставляет нам определенное количество пикселей. Эти пиксели можно пересчитать и сравнить с эталонным значением. А эталонным значением для Honor View 20, исходя из разрешения его экрана, является:

2310 x 1080 x 60 = 149 688 000 ПС (пиксель в секунду).

В игре PUBG MOBILE поведение View 20 меняется и выглядит так:

1280 х 720 х 60 = 55 296 000 ПС.

Мы можем посчитать, насколько процентов View 20 подходит для идеальной игры в PUBG Mobile (60 FPS) хотя бы на минимальных настройках графики (это важно) и в итоге получим всего 36,9%. Этот же показатель у Samsung Galaxy S10+ (Snapdragon 855) для данной игры составит жалкие 47,36%.

Этот метод не будет иметь смысла, если смартфон не может достигнуть 60 FPS в приложении. В этом случае смартфон заранее назовем печатной машинкой и не будем его мучить.

Выводы

Выводы простые — на рынке нет ни одного смартфона, который бы показывал хорошую игровую производительность (более 50%, или, скорее игровой, чем нет). Производители устанавливают во флагманские смартфоны экраны, которые значительно превосходят возможности встроенных чипсетов. Производительности Snapdragon 855 в связке с экраном FHD+ не хватает для современных игр уже сейчас. У пользователя самого дорогого флагманского Android-смартфона воруют не менее 30% пикселей в играх со сложной графикой (даже больше, когда натягивают рендер 720p на экран 1440p). Большинство игроков играют в реальном разрешении 720p на экранах FHD+ и не знают об этом.

А на вопрос «кто ворует пиксели у игроков» у меня ответа нет. У человеческой жадности, окопавшейся в индустрии производства смартфонов и игровой индустрии нет адреса, имени и фамилии.

Nokia 8 (SDM835+2560×1440 (16:9) экран) не каждый раз может победить Asphalt 9

Возможно, кто-то скажет, что это всего несколько игр и стоило ли поднимать из-за них шум? Конечно стоило, ведь аудитория той-же игры PUBG Mobile значительно превосходит количество выпущенных за год флагманов любой компании. А это только одна игра. Размер и влияние адитории игроков огромны, хотя и не очевидны. А раз так, то и нам стоит прислушаться к их нуждам и сделать производителям смартфонов замечание.

Когда статья была уже написана, стало интересно, а как выглядел бы ГГ PUBG, если бы игра запускалась на старых игровых устройствах. Слева-направо: Оригинал, PC VGA (640х480), Amiga 1000 (по детализации очень близко к 720p на смартфоне), ZX Spectrum. =) Для пикселизации было использовано приложение 8Bit Photo Lab, которое очень рекомендую.

Продолжать можно долго, выскажите в комментариях свое согласие или полное несогласие с проведенным расследованием.

Читайте также