Когда относительно недавно, каких-то два года назад, на выставке CES 2011 компании LG и Motorola показали свои первые двухъядерные смартфоны, это смотрелось несколько странно – зачем многоядерные решения нужны в телефонах? Особо удивительным был тот факт, что Android обзавелся поддержкой многоядерных процессоров лишь с версией 3.0, т.е. все флагманские решения того времени, будь то Samsung Galaxy S II, HTC Sensation, Motorola Atrix и несколько других либо использовали «костыли», либо вовсе не использовали свои многоядерные преимущества. Теперь же компания Samsung показывает нам 8-ядерный процессор, который, по словам представителей компании, рассчитан, в том числе, и на телефоны.
На рынке смартфонов и планшетов сложилась ситуация, что все производители ведут состязания под олимпийским девизом «Быстрее! Выше! Сильнее!»: больше ядер в процессоре, больше пикселей в камере, выше разрешение экрана, больше диагональ дисплея – список можно продолжить. Но хорошо ли это для потребителя?
Для этого предлагаю обратиться за примерами к недавнему прошлому. Первым примером того, что «не ядрами едиными» стали тесты производительности, проведенные на двух устройствах компании HTC: One S и One X. Выяснилось, что в бенчмарке Antutu разница между двумя устройствами составляла около 600 пунктов, в то время как в Quadrant’е показатели более младшего One S оказались даже на порядок выше. Здесь стоит выделить два важных факта: во-первых, синтетические тесты измеряют не только производительность процессора, но и здесь в строчке про CPU разница между двумя решениями была минимальной; во-вторых, обновленная версия процессора Tegra 3, установленная в HTC One X+, уже показывает действительно солидный отрыв.
(Слева One X, справа One S)
В чем же причина такой незначительной разницы? Оказывается, «не все йогурты одинаково полезны» - в случае с Tegra 3(One X) и Qualcomm MSM8260A (One S) сказался более совершенный техпроцесс: 40 нм против 28 нм. А казалось бы, ядер-то больше!
Каждый раз, когда компании показывают новые процессоры, нам рассказывают о более энергоэффективных решениях, которые становятся на -дцать процентов менее прожорливыми. Что мы имеем на самом деле? Два устройства, которые могут реально прожить сутки при активной нагрузке – это Samsung Galaxy Note II и Motorola Razr HD Maxx. У них какие-то уникальные процессоры? Отнюдь, в корейском гиганте установлен аналогичный Samsung Galaxy SIII SoC Exynos 4412, а в американской новинке – такой же чип, что и в обычном Motorola Razr HD. Главное отличие – это аккумуляторы, их объемы 3100 мАч и 3300 мАч соответственно. Конечно, батарея не увеличилась в два раза, в отличие от времени работы экрана (речь о Note II), но именно аккумулятор – основная причина возросшей автономности. Зато вместо роста времени работы мы получаем нагрев устройства.
Где сейчас можно задействовать мощь 4-ядерных процессоров в телефонах? Любая игра идет с одинаковой производительностью на Galaxy Nexus и, скажем, Galaxy SIII. Как еще можно задействовать всю эту мощь? Пока не очень понятно, а вот галерея в Galaxy Note II при большом количестве видео и изображений иногда любит и потормозить.
Вспоминая анонс Android Jelly Bean и Project Butter, нельзя не отметить возросшую производительность Galaxy Nexus. Трудно сказать, было ли это следствием увеличением частоты процессора, смена говернора (сценарий работы процессора) или что-то еще, но система стала работать более плавно, а время жизни от одного заряда если и изменилось, то крайне незначительно.
Так почему бы не оптимизировать систему и перестать наращивать мощь «железа»? Радостно было смотреть на анонс компании Apple, которая то ли не смогла, то ли не захотела участвовать в этой «ядерной войне» и выпустила iPhone 5 с 2-ядерным процессором. Кстати, там стоит скромный аккумулятор на… 1430 мАч.
Процессор – он как камера, только процессор: важно не только количество ядер, но и архитектура, и техпроцесс и многое другое. Не хочется затрагивать вопрос реализации многопоточности в Android; в официальной информации от Google говорится, что лучше работают даже неоптимизированные программы, хотя прирост меньше (на самом деле нет оптимизированных приложений, они не знают о наличии нескольких ядер, о них знает Dalvic Cache).
Самый яркий пример проблем с оптимизацией демонстрирует Nexus 4, который обладает всем-всем-всем, но имеет ряд проблем с нагревом и последующим падением производительности. Почему? В смартфоне установлены старые драйвера для SoC, поэтому и проявляются озвученные выше недоработки.
Проблемы, которые показывают общую ситуацию среди почти всех новых устройств: здесь не обновили, тут что-то не закрыли. Проблемы, в общем-то, детские. Почему нельзя их избежать? Почему нельзя оптимизировать систему, а не наращивать ядра? Может, хватит играть в «олимпийский» маркетинг?
P.S. Лучшей характеристикой ситуации является ответ представителя Sony на вопрос о 4-ядерном процессоре в Xperia Z, который сводится к простой мысли: «У всех мальчиков есть, а у нас нет».
P.P.S. Кстати, в том самом 8-ядерном процессоре сможет работать лишь 4 ядра одновременно: либо 4 ядра Cortex-A7, либо 4 ядра Cortex-A15.
Автор: Кортелев Егор