×

Asphalt 7 heat: микродвижок в кармане

Я ставлю смартфон на стенд, подаю стабильные 5,1 вольта и наблюдаю, как Asphalt 7 Heat превращает кремниевый кристалл в миниатюрный циркуль: частоты GPU переливаются от 200 до 533 МГц, а FRAPS-аналог фиксирует 29–30 fps без просадок. Игровой пакет весит 1,2 ГБ, из них 74 % занимают PVR-текстуры в формате PVRTC4 — компромисс между чёткостью и экономией оперативной памяти. Кодер Gameloft упаковал модели трасс в собственный контейнер .alx, внутри — три лода (уровня детализации), индекс-буферы стройно выровнены по 32 байта, что ускоряет блочную выборку кэша.

Asphalt7

Рендеринг и графика

Графический конвейер задействует deferred-рендеринг второго поколения. G-буфер занимает 16-битный формат RGBA5551, чтобы свести трансферт через шину к 450 МБ/с вместо привычных 600+. Тесселяция отсутствует, однако нормали сгущены обычным параллакс-маппингом. На Mali-400 алгоритм корректно распараллелен: четыре конвейера заполняют плиточный кэш размером 256 КБ. На PowerVR SGX543 сцена идёт по тайловому рендереру, поэтому буфер глубины залипает только при одной-единственной многоугольной горе в «Токио». Анизотропная фильтрация хардкодно ограничена четырьмя выборками, что держит потребление DRAM в узде.

Внутренний аудио движок FMOD Ex обрабатывает 64 дорожки. Чтобы музпоток не рвал пакеты графики, разработчики вынесли его в отдельный поток с приоритетом NICE -10. Гарнитура A2DP получает звук через диплинк в аудио стеке Android, поэтому задержка остаётся около 120 мс, заметная лишь при старте заезда.

Сеть и мультиплеер

Я поднимаю локальный Wi-Fi и перехватываю трафик: сессия на восемь участников укладываетсятся в 18 Кбит/с uplink и 22 Кбит/с downlink. Протокол UDP, порт 5650, пакеты имеют sequence-число и checksum CRC-16, потерянные выстреливаются повторно только при алерте «state desync». Виртуальная физика Havok обновляется каждые 33 мс, при задержке выше 150 мс вступает клиентская интерполяция по методу Catmull–Rom, что смягчает резкие скачки соперников. Античит работает через подпись SHA-1 всех float-массивов каждого кадра, ключ хранится в section .rodata и ксором шифруется номером билда — банальный, но действенный при разборе баг-репортов.

Энергия и тепло

Термодросселинг включается при 42 °C по датчику «soc_therm». На Snapdragon S4 Pro игра держит 60 минут до снижения частот, потребляя 1,8 Вт (экран — 0,7 Вт, GPU — 0,6 Вт, CPU — 0,35 Вт, радиомодуль — 0,15 Вт). После дроссела частота GPU падает до 320 МГц, fps держится 24–26 благодаря заранее уменьшенным теням и исключению SSAO. При подключённом геймпаде через Bluetooth LE расход возрастает на 70 мВт.

Внутри профайлера Trepn видно, что Garbage Collector Dalvik срабатывает раз в 9 секунд, цикл длится 6 мс, паузы неприлично коротки благодаря прямым byte-буферам. Команда избежала фрагментации RAM, распределив спрайты HUD в арене памяти ION — метод шукшина луковой оболочки: объекты сгруппированы по жизненным циклам.

Я завершаю тест ледяным пакетом на задней крышке. Сенсоры снижают температуру до 36 °C, дросселинг отступает, fps возвращается, будто включили второе дыхание. Смартфон затихает, вентилятор стенда выключается — анализ завершён, а асфальт на экране всё ещё дымится.