Почему даже на самых мощных смартфонах игры хуже, чем на ПК и консолях?

Дело даже не в мощности. Смартфоны уже обогнали по производительности консоли прошлого поколения. У Xbox 360 производительность GPU составляла 240 GFLOPS (240 миллионов операций с плавающей точкой в секунду), у iPhone X этот показатель уже равен 350 GFLOPS, а у новейшей системы на чипе Qualcomm Snapdragon 845 – 727 GFLOPS. Даже узкоспециализированная гибридная консоль Nintendo Switch в портативном режиме выжимает всего 157-198 GFLOPS... И почему же на смартфонах мы не видим «своих» Uncharted, Halo, Legend Of Zelda?
Каждый год производители мобильников радуют нас новыми цифрами производительности. Apple хвастается крутыми графиками и постоянными обновлениями графических API (инструментов для работы с «железом» смартфонов) – мол, теперь в 100500 раз быстрее, чем раньше. Так куда же «сливают» все эти гигафлопсы? В какую чёрную дыру они улетают, если даже новейшие мобильные игры на самых мощных смартфонах всё равно отстают от игр десятилетней давности – не только по геймплею, но и по графике?
Сравните, например, консольную Burnout: Paradise 2008 года с мобильной Asphalt 9 2018-го. Burnout на Xbox 360 и PlayStation 3 работала в разрешении 720p с частотой 60 FPS – и это была гонка в открытом мире! Там были реальные и вполне детальные отражения на кузове автомобиля и в целом графика до сих пор смотрится свежо (если б не старомодные эффекты пост-процессинга).
Asphalt 9 на топовых смартфонах показывает картинку около 720p (где-то больше, где-то меньше – это если верить анализу Digital Foundry), с какими-то куцыми эффектами отражений, при этом даже не может выдать стабильные 30 кадров в секунду. И в ней нет никакого открытого мира! А уж игровой процесс и сравнивать бесполезно - Burnout тут вне конкуренции.
Почему же такое происходит? Почему несмотря на все достижения технического прогресса мобильные игры остаются буквально на дне индустрии? Этому есть несколько причин. Разделим их на две категории: технические и экономические.
Технические причины 1. Флопсы флопсам рознь
Когда мы говорим о производительности такого-то чипа в количестве операций в секунду, то мы не учитываем, а чем, собственно, этот чип вообще будет занят и как обрабатывать поступающую информацию. Разработчики игр для консолей могут иметь прямой доступ к любому железу (почти) и нагружать его как угодно, при этом операционная система самой консоли отдаёт играм максимальный приоритет, да и в целом сама по себе ОС достаточно лёгкая. Грубо говоря – процессор и графика консоли заняты исключительно игрой и вся их производительность (почти) работает на игру.
У мобильников (как и у персональных компьютеров, кстати) забот гораздо больше. И прямого доступа к «железу», считай, нет, и операционные системы тяжёлые, да и приоритеты совсем другие. Вы же не хотите пропустить важный звонок только из-за игрушки? Хотя, признаемся, бывает и такое желание. Но всё-таки, ни Android, ни iOS себе такого позволить не могут. Да и фоновых процессов там куча.
Тротлинг и проблема охлаждения
Предыдущий пункт очевиден многим, мы его упомянули только потому, что не упомянуть его всё равно нельзя. Но гораздо меньше людей задумываются о тротлинге – то есть, об уменьшении быстродействия процессора (за счёт пропуска тактов) в случае перегрева.
Взять ту же Nintendo Switch – по факту это просто планшет на Nvidia Tegra X1. Такой же, как Shield TV, не считая геймпада. В стационарном режиме Tegra X1 в Switch может работать на частоте 768 МГц, тогда как в портативном – либо 302,7 МГц, либо 368 МГц. Проблема в том, что Switch не может позволить себе замедлиться ни при каких условиях.
Ни на один мегагерц. Собственно, именно для этого в Switch понижается тактовая частота Tegra X1 (номинальная её частота – 1000 Мгц) не только в портативном режиме, но даже в режиме док-станции. Потому, что консоль должна быть рассчитана (и она рассчитана) на постоянную работу под максимальной нагрузкой со стабильной производительностью. А мобильник может спустя 10 минут игры в новомодную игрушку взять и срезать частоту.
Даже если будут тормоза – мобильной ОС всё равно, лишь бы не сгореть. Тем более, что размеры мобильников не позволяют устанавливать туда активное охлаждение. Да и как вы представляете себе мобильник с вентиляторами? А вот в той же Switch вентилятор есть. Что уж говорить про стационарные консоли!
3. Фрагментированность
Конечно, даже несмотря на оба фактора, перечисленных выше, можно постараться и выжать все соки из топового железа – хотя бы на 5 минут геймплея. Проблема в том, что такого железа «на руках» очень мало, и ту же графику неизменно придётся понижать для обладателей средних девайсов. В итоге такие затраты сил, времени и денег уйдут практически впустую.
Помните, на заре появления Nvidia Tegra было немало эксклюзивных игр именно для этой SoC («процессора», как говорят в народе)? Tegra на то время на аппаратном уровне поддерживала множество эффектов (например, частицы воды). Но, во-первых, конкуренты быстро догнали Tegra, а во-вторых, пока это не случилось, в эти игры играли единицы. Ну и стоит ли оно того?
4. Неудобное управление
Одна из главных причин, почему нормальные игры на мобильниках невозможны – неудобное управление. Прежде всего, давайте признаем, что сенсорный экран подходит лишь для двух типов игр – point-&-click (стратегии, игры одной кнопки, квесты «найди предмет в этой комнате») и игр с физикой и управлением гироскопом/акселерометром (катай шарик по полю). Всё. В лучшем случае можно придумать что-то вроде аркадных гонок, где управляешь наклоном смартфона и нажимаешь пару педалей – это максимум, что можно выжать из смартфонного управления.
Наэкранные же кнопки не только неудобны, они ещё и сильно сужают обзор.
Конечно, можно купить геймпад. Но, во-первых, какой? С консолями геймпады поставляются в комплекте, и любой разработчик игры может точно быть уверен, какой это геймпад, сколько там кнопок (и каких), как они расположены. А вот для мобильников геймпады далеко не универсальны по количеству и расположению кнопок.
Но главная проблема – инпут-лаг (отклик на нажатие), особенно у Android-смартфонов. При подключении обычного Bluetooth-геймпада инпут-лаг составляет 120-150 мс (причём, чаще именно 150), что делает игру крайне затруднительной. На консолях уже 100 мс считается высоким инпут-лагом, а тут 120 – редко достижимый минимум.
Думаете, проводные геймпады решают проблему? Вовсе нет. Автор этого текста тестировал модуль геймпада для Moto Z2 Play, который подключается к смартфону с помощью контактной площадки. Так вот – с этим геймпадом инпут-лаг возрастал до 200 мс! Причём, с этим же телефоном простой китайский геймпад выдавал 120-150 мс! (К слову, это не невидаль какая-то – у геймпада PlayStation 4 тоже по проводному подключению инпут-лаг внезапно выше, чем по Bluetooth).
Конечно, в некоторые игры можно играть и так. Медленные, неторопливые. Но рассчитывать на нормальные слэшеры, файтинги и шутеры на мобилках не приходится. Разработчик не может позволить себе «наказывать» игрока за медленную реакцию, если имеется такой дикий лаг в управлении вкупе с общим дискомфортом. Вообще, высокий инпут лаг – проблема Android, там даже с реакцией на сам экран не всё гладко.
Источник - https://www.friv.plus
Комментарии