Сравнение производительности современных смартфонов и компьютеров
Егор Морозов | 5 Июля, 2017 — 12:30
Ни для кого не секрет, что за последние 10 лет телефоны сделали качественный скачок — если тогда они воспринимались в основном как звонилки, с крайне урезанным браузером и почти без возможности проигрывать видео, то сейчас это полноценные мультимедийные устройства с нормальными браузерами и плеерами, пакетом MS Office, играми, оснащенные камерами, способными снимать 4К видео — в общем, казалось бы, это полноценный ПК в кармане.
Это же мнение активно развивают и компании-производители: Apple продвигает iPad как замену ПК, Microsoft и Samsung представили док-станции, с помощью которых можно превратить смартфон в рабочее место. И поэтому у многих может сложиться впечатление, что по производительности смартфоны уже ничуть не хуже ПК (ну или хотя бы ноутбуков). Однако, забегая вперед — это далеко не так.
Разумеется, возникает вопрос — как сравнить производительность смартфонов, построенных на ARM-процессорах, и ПК, построенных на x86? Конечно, есть кроссплатформенные тесты типа GeekBench, однако их проблема в том, что их результаты крайне сильно зависят от оптимизации бенчмарка под ту или иную архитектуру или даже процессор — к примеру, GeekBench не видит кэш L3 у процессоров Apple, а ведь он достаточно серьезно влияет на скорость вычисления. Поэтому нам нужен бенчмарк, который использует «понятные» всем процессорам команды, которые никак не зависят от системы — и на эту роль хорошо подходит Linpack, который меряет FLOPS.
Что же такое FLOPS? Это единица измерения производительности устройства, показывающая, сколько операций с плавающей запятой в секунду оно может сделать. Операции с плавающей запятой происходят «внутри» процессора и никак не зависят от системы, а только от быстродействия самого процессора. И второй плюс — в отличие от высокоуровневых бенчмарков, тестирующих отдельно процессор и отдельно видеокарту, никто не мешает вычислить производительность и того, и другого во FLOPS.
Увы, нормального Linpack под iOS я не нашел (есть один, но он не поддерживает х64-вычисления, что, разумеется, скажется на производительности). А вот под Android он есть, и поддерживает х64 — можно его бесплатно скачать в Google Play. Для тестов был взят практически топовый по современным меркам Snapdragon 820, и его результат — порядка 2.7 GFLOPS:
Тут, разумеется, возникает вопрос — это много или мало? Увы — это мало: к примеру, Intel Core i3-7100U, низковольтный современный процессор от Intel, набирает порядка 40 GFLOPS. Сравнимый с Snapdragon 820 результат (3.2 GFLOPS) набрал Pentium 4 на 3.4 ГГц:
То есть топовые смартфоны имеют тот же уровень производительности, что и топовые ПК 2004-2005 годов. Отсюда опять же возникает вопрос: почему на таком слабом по современным меркам процессоре Android работает вполне себе шустро? Тут все просто — Android изначально оптимизировали под слабые устройства, и поэтому никаких проблем с быстродействием нет. Ровно также на Pentium 4 летала Windows XP — эта ОС могла работать на процессорах с частотой в 300 МГц, то есть на порядок ниже. Это же касается и мобильных браузеров — они работают в масштабе 1:2, а то и 1:3 — то есть реальное разрешение в браузере будет не 1920х1080, а 640х360 — поэтому опять же нет никаких тормозов.
Теперь давайте на минутку представим, что в телефоне действительно стоит Pentium 4 (вообще говоря — предположение вполне себе верное: если программа под ПК требует процессор определенной производительности, то оптимизированная под мобильные ОС версия программы с тем же функционалом вряд ли будет иметь меньшие системные требования). Что из современного софта мы сможем запустить?
- Microsoft Office 2016 — требуется 1 ГГц процессор и 1 ГБ ОЗУ. У нас же 3 ГГц и 3-6 ГБ ОЗУ, так что проблем с запуском нет, более того — офисный пакет от MS уже был несколько лет назад как портирован.
Второй миф, который запустила Nvidia больше 5 лет назад на презентации своего процессора Tegra 2 — это игры «консольного уровня». Что самое забавное — с тех пор каждый производитель счел своим долгом на презентациях говорить, что вот сейчас мы точно достигли уровня консолей. Только вот вопрос — каких?
В одном из самых мощных смартфонов современности, Apple iPhone 6s, стоит видеочип PowerVR GT 7600, производительность которого, если судить по сайту AnandTech, составляет 115 GFLOPS:
В iPhone 7 стоит чип GT 7600 PLUS, который является разогнанной версией 7600, то есть его производительность составляет 130-140 GFLOPS. Ближайшая из относительно современных видеокарт с такой же производительностью — Nvidia GT 610:
Чтобы было понятнее — это видеокарта-затычка пятилетней давности, охлаждаемая пассивно и стоящая на данные момент меньше 2 тысяч рублей. От середнячка предыдущего поколения видеокарт Nvidia — GTX 960 — она отстает в 15 раз, а производительность в современных играх аховая: GTA 5 идет в 800х600 на минимальных настройках с 25-30 fps, Witcher 3 в 1024х768 опять же на минимальной графике выдает 7-10 fps. Консоли предыдущего поколения, PlayStation 3 и Xbox 360, выдают порядка 220-250 GFLOPS, то есть они вдвое мощнее графического процессора в iPhone 7! В итоге получается, что топовые мобильные видеочипы имеют производительность между PlayStation 2 и 3, то есть уровень видеокарт 2004-2005 года. Поэтому предел мечтаний — игры того времени, что мы и видим: под мобильные ОС с хорошей графикой были портированы GTA вплоть до San Andreas (2004), Half-Life 2 (2004), Titan Quest (2006).
Что же в итоге? А в итоге топовые смартфоны и планшеты имеют уровень производительности компьютеров 2004-2005 года, поэтому говорить о полноценной работе и играх на них просто смешно: их предел это мультимедиа и серфинг в интернете, а все рассказы производителей о том, что планшеты и смартфоны заменят ПК — увы, просто байки.
Почему даже на самых мощных смартфонах игры хуже, чем на ПК и консолях?
Каждый год производители мобильников радуют нас новыми цифрами производительности. 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 себе такого позволить не могут. Да и фоновых процессов там куча.
2. Тротлинг и проблема охлаждения
Предыдущий пункт очевиден многим, мы его упомянули только потому, что не упомянуть его всё равно нельзя. Но гораздо меньше людей задумываются о тротлинге – то есть, об уменьшении быстродействия процессора (за счёт пропуска тактов) в случае перегрева.
Snapdragon 810, конечно, вопиющий случай, но по нему наглядно видны проблемы со стабильностью работы процессоров в смартфонах (источник: Ars Technica)
Взять ту же Nintendo Switch – по факту это просто планшет на Nvidia Tegra X1. Такой же, как Shield TV, не считая геймпада. В стационарном режиме Tegra X1 в Switch может работать на частоте 768 МГц, тогда как в портативном – либо 302,7 МГц, либо 368 МГц. Проблема в том, что Switch не может позволить себе замедлиться ни при каких условиях. Ни на один мегагерц. Собственно, именно для этого в Switch понижается тактовая частота Tegra X1 (номинальная её частота – 1000 Мгц) не только в портативном режиме, но даже в режиме док-станции. Потому, что консоль должна быть рассчитана (и она рассчитана) на постоянную работу под максимальной нагрузкой со стабильной производительностью. А мобильник может спустя 10 минут игры в новомодную игрушку взять и срезать частоту.
А здесь Xiaomi Mi 8 работает в полную силу только с искусственным охлаждением (в морозилке, например). Источник: GSMArena
Даже если будут тормоза – мобильной ОС всё равно, лишь бы не сгореть. Тем более, что размеры мобильников не позволяют устанавливать туда активное охлаждение. Да и как вы представляете себе мобильник с вентиляторами? А вот в той же 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, там даже с реакцией на сам экран не всё гладко.
Экономические причины
В экономических причинах всё гораздо интереснее. Прежде всего, потому, что здесь уже речь не столько о том, почему «графона не завезли», а о том, почему сами игры – плохие.
1. 100 рублей – дорого
Одна из главных причин – разработка хорошей игры стоит дорого, и это касается не только графики. Но владельцы мобильников не привыкли столько платить. Когда Doom только вышел на PlayStation 4 и Xbox One, он стоил 3999 рублей. И его покупали! Когда цену на Xbox One на постоянной основе скинули до 849 рублей – его купили даже те, кому эта игра не особо нужна. Потому что для консольщика 849 рублей – это копейки, огромная скидка.
Производительность железа, измеряемая во флопсах: что это и с чем едят?
Новейшее поколение игровых консолей достигло отметки в десяток терафлопс. Но что именно означает эта величина?
Производительность, измеряемая во FLOPS — это количество операций с плавающей запятой, которое может выполнить устройство за одну секунду. Отсюда и название: FLoating-point Operations Per Second. Сравнивать вычислительную мощность по флопсам намного проще, чем по тактовой частоте или чему-либо ещё.
График роста производительности суперкомпьютеров
Современная техника имеет колоссальную мощность. Поэтому, что бы не использовать большое количество нолей, к флопсам добавляют приставки СИ: гигафлопсы, терафлопсы, петафлопсы.
Краткий список железа и его производительности:
- Sega Dreamcast (1998) — 1,4 ГФлопс;
- Intel Core 2 Duo (2006) — 19,2 ГФлопс;
- МЦСТ Эльбрус-8С (2016) — 125 ГФлопс;
- Intel Core i7-4930K (2013) — 163 ГФлопс;
- Microsoft Xbox 360 (2005) — 115 ГФлопс (ЦП) и 240 ГФлопс (ГП);
- AMD Ryzen 7 3700X (2019) — 460 ГФлопс;
- Sony PlayStation 4 (2013) — 1,84 ТФлопс;
- GeForce RTX 2080 Ti (2018) — 13,5 ТФлопс (для 32-разрядных вычислений);
Самым слабым компьютером можно назвать Z3. Его вычислительная мощность составляет 2 флопса. Да, верно — он осиливает всего 2 операции в секунду. Но это простительно, ведь Z3 — первая работоспособная программируемая вычислительная машина, собранная ещё в 1940 г.
Вычислительная машина Z3
Cамым мощным компьютером на момент 2020 года можно назвать Фугаку — японский суперкомпьютер. Его заявленная мощность составляет 0,54 эксафлопса (для 64-разрядных вычислений). Это 540 000 терафлопс.