Ни для кого не секрет, что за последние 10 лет телефоны сделали качественный скачок — если тогда они воспринимались в основном как звонилки, с крайне урезанным браузером и почти без возможности проигрывать видео, то сейчас это полноценные мультимедийные устройства с нормальными браузерами и плеерами, пакетом MS Office, играми, оснащенные камерами, способными снимать 4К видео — в общем, казалось бы, это полноценный ПК в кармане.
Разумеется, возникает вопрос — как сравнить производительность смартфонов, построенных на 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 уже был несколько лет назад как портирован.
- Adobe Photoshop CC 2017 — требуется Intel Core 2 Duo 2 ГГц, 2 ГБ ОЗУ. По ОЗУ проблем нет, а вот по процессору Core 2 Duo мощнее больше чем в 2 раза.
- MAGIX Vegas 14 (программа для обработки видео) — требуется многоядерный процессор с частотой 2 ГГц, и 4 ГБ ОЗУ. Опять же — по процессору не проходим, и даже не все устройства пройдут по объему ОЗУ.
- MathWorks Matlab 2017a (программа для математического моделирования) — требуется любой процессор от Intel или AMD, рекомендуется 4 ядра. ОЗУ — минимум 2 ГБ, рекомендуется 4-6. Системные требования размыты, но то, что рекомендуется 4 ядра, уже означает, что одноядерный процессор скорее всего «в пролете».
Второй миф, который запустила 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 года, поэтому говорить о полноценной работе и играх на них просто смешно: их предел это мультимедиа и серфинг в интернете, а все рассказы производителей о том, что планшеты и смартфоны заменят ПК — увы, просто байки.