04 August 2024

За это ваш Snapdragon

После того, как я разобрался с работой камер в новом телефоне, дошли руки покопать тему производительности. 
Вообще, скорость работы моего старого Zenfone 8 меня целиком и полностью устраивала.
В игры я на телефоне почти не играю, а если и играю, то это что-то, что будет бегать и на телефонах десятилетней давности... Поэтому любопытство мое в области попугаев носит исключительно праздный характер: захотелось понять, а как последние достижения Qualcomm соотносятся, к примеру, со стареньким SoC из моего Steam Deck

Синтетическим бенчмаркам в этом вопросе я не сильно доверяю, но для начала решил запустить хотя бы Geekbench.  Deck выбил 1315 в однопотоке и 4512 в многопотоке. Телефон -- 2205 и 6549 соответственно. Т.е. по процессору телефон раза так в полтора быстрее, что особенно впечатляет, с учетом того, что работает он на пассивном охлаждении да еще и на более низких частотах.

Синтетика это, безусловно, здорово, но хотелось бы получить хоть какое-то подтверждение всем этим красивым цифрам на практике. Начал я искать какие-то игры, чтобы работали на Windows и Android, имели богатые графические настройки и встроенный бенчмарк. Внезапно это оказалось крайне нетривиальной задачей, которая еще и усугублялась следующим моментом. Если игра работает идеально (например, показывает 60 fps), то с этой цифрой трудно работать -- нужно иметь возможность заставить игру упереться в предел возможностей железа. На ПК это достигается через банальное отключение VSync, но на Android такой фичи в играх нет, более того, большинство из них молча активируют режим обновления экрана 60 Гц и им плевать на то, что ваш телефон поддерживает 120 (или даже больше). А сверху еще стоят костыли от вендора, который хочет, чтобы батарейка вашего телефона показывала чудеса живучести в играх. 

Короче, в природе вроде как существуют более-менее универсальные решения для снятия ограничения на частоту кадров, но все они идут чуть ли не в виде полноценного графического драйвера, который, естественно, без рута не установишь.  

По итогу, с горем пополам, я насобирал следующие real world тесты. 

Старенький Doom 3. На Android его можно запустить из-под ужасно кривого универсального ланчера для игр на движках id от какого-то китайца. На деке demo1 выдает 140 fps, причем эта цифра крайне вяло реагирует на смену разрешения и видно, что игра даже близко не упирается ни в CPU, ни GPU. 
На Xiaomi 14 в разрешении 1024x768 бенчмарк выдает 70 fps. Не густо. 

Эмулятор PSP -- PPSSPP. Тут было трудно, потому что разлочить fps я не смог даже на деке, но нашелся другой очень хитрый трюк под названием "software render". 3D игры из под него превращаются в слайдшоу даже на очень мощных системах, но существует идеальная нагрузка в виде несложных 2D игрушек. В качестве такой я выбрал "Street Fighter Alpha 3 MAX". Дек ее тянет в 60 fps, но видно, что дается ему это не просто. CPU работает на ~2.7 ГГц с загрузкой на уровне 70%, т.е. это примерно половина из того, что может выдать процессор. 
На Xiaomi все далеко не так хорошо, камень моментально уходит в троттлинг и частота кадров плавает в диапазоне 45-55 fps. Напомню, что GPU при этом вообще ничем не занимается, т.е. весь лимит мощности достается исключительно процессору. 


И последний тест, тоже эмулятор -- Yuzu. В качестве полигона использовал Mario Kart 8 Deluxe, она не очень "тяжелая" и в ней можно разлочить фреймрейт. На первом треке дек у меня показывает 75+ fps, причем видно, что упирается он в CPU. Телефон сразу улетает в троттлинг, три-четыре секунды держится в районе 55-58 кадров в секунду, а потом на пару секунд падает в область 45 fps и ниже. И так по кругу, с ростом температуры и все более и более сильными провалами...  


И под занавес я решил погонять смартфон в синтетике на предмет троттлинга -- запустил специальный тест из пакета 3DMark. Длиться он должен всего 20 минут, бежало все довольно таки бодро, но за пару минут до финиша телефон сдался -- написал, что он перегрелся, закрыл все запущенные приложения и перезагрузил оболочку. Корпус при этом прогрелся просто до обжигающих температур и работать все начало о-о-очень медленно. 

Мораль? Ну не знаю, я теперь с еще большим скептицизмом смотрю на всю эту гонку Gen 2, Gen 3, на все эти красивые цифры бенчмарков и длинные столбики, которые публикуются в каждом обзоре очередного флагмана. Очевидно, что все эти мощности не стоят вообще ничего без хорошего охлаждения. Ну спринт на 100 метров такой процессор потенциально одолеет с хорошим результатом, но как только бежать надо несколько километров, он сразу превращается в хромую лошадь, за ковылянием которой без слез смотреть невозможно. Ситуация, кстати, сильно напоминает ту, которая давно творится в мире ноутбуков. Когда i9 последнего поколения (который на полной мощности может нормально охлаждать разве что пара моделей топовых водянок) запихивают в маленький корпус со смешной системой охлаждения. А рядом еще ставят RTX 4090. Ну, чтобы пальцы можно было гнуть по максимуму. И по хрену, что этот набор из-за зверских ограничений по TDP может работать аж на уровне i5 из десктопа с хорошим охлаждением. 
Маркетинг такой себе маркетинг.  




No comments:

Post a Comment