Почему для игр я лучше выберу iPhone, чем Android
Вы помните времена, когда пользователи Android кичились более высокой вычислительной мощностью своих смартфонов по сравнению с iPhone? Тогда технические характеристики фирменных аппаратов Apple и правда были довольно непримечательны: 256 или в лучшем случае 512 МБ оперативной памяти и одноядерные процессоры, сменившиеся двухъядерными только в 2011 году, никак не тянули на то, чтобы считаться производительными. Поэтому все, что оставалось владельцам iPhone, - это вспоминать про оптимизацию, которая - вот парадокс - выручает их до сих пор, оставаясь главным преимуществом перед устройствами на Android.
Несмотря на то что за последние годы ассортимент фирменных смартфонов Apple сильно разросся и теперь включает в себя довольно много моделей на базе не самых мощных процессоров, даже они тянут практически любые игры из App Store на максимальных настройках. Единственное исключение, которое мне приходит на ум, - это режим 60 FPS в Fortnite, доступный только на iPhone и iPad с процессорами A12 и новее. На Android его поддержку даже среди топовых устройств 2020 года встретить сложно, не говоря уже о более старых. Но какую роль в этом вопросе играет пресловутая оптимизация?
Почему игры на iOS работают лучше, чем на Android
Разработка игр для iOS ведется в среде Xcode, которую создала сама Apple. Я не буду вдаваться в подробности о принципах ее функционирования, тем более что единственная особенность этой среды, о которой вам нужно знать, - это изначальная совместимость со всеми устройствами Apple и их железом. То есть, по сути, в Xcode по умолчанию зашиты данные обо всех сочетаниях железа, которыми оснащаются iPhone, iPad или iPod разных поколений. Это позволяет разработчикам не заморачиваться с оптимизацией под каждый процессор и графический ускоритель в отдельности, а сосредоточиться на отладке именно внешнего оформления.
На Android все совершенно не так. Несмотря на то что у Google тоже есть собственная среда разработки, там все сочетания железа не прописаны, потому что сама Google о них банально зачастую не знает. Ведь Android - это открытая операционная система, которую могут использовать все производители смартфонов без исключения - от Xiaomi и Samsung до Umidigi, Ulefone и прочих никому неизвестных брендов. Google за этим никак не следит и, хоть и занимается сертификацией аппаратов, делает это только применительно к тем, которые платят ей за право установки Google Mobile Services. В результате на рынок выходят устройства с совсем уж невообразимым сочетанием характеристик, адаптировать игры под которые не станет ни один вменяемый разработчик.
Оптимизация игр на андроиде
Сама Google знает, что отсутствие регулирования в этой сфере оказывает негативное влияние на качество игр для Android. Именно по этой причине производители в свое время начали оснащать фирменные устройства как можно более мощным железом, чтобы все игры гарантированно работали без перебоев, даже если по умолчанию им такой производительности и не требуется. Однако такой подход заведомо является полумерой, поэтому Google решила от него отказаться, начав если не контролировать процесс оптимизации самостоятельно, как Apple, то по крайней мере облегчив эту задачу для разработчиков.
Для этого Google придумала специальный инструмент под названием GPU Inpector, который позволяет оптимизировать игры для поддерживаемых смартфонов. Этот инструмент отслеживает, как игра работает на том или ином аппарате и указывает на выявленные недостатки. Например, в результате тестирования Google Pixel 4 выяснилось, что некая игра, которую выбрали в качестве экспериментальной, может потреблять на 40% меньше ресурсов, но при этом работать не хуже. Последующие испытания показали хоть и не такую ощутимую разницу между требуемой и потребляемой мощностью, но подтвердили эффективность GPU Inspector.
Да, путь, который выбрала Google, сложен, ведь теперь ей придется заручиться помощью производителей, которые будут предоставлять ей данные о сочетаниях железа своих смартфонов. Само собой, этим займутся не все, поскольку с некоторыми - например, с Huawei - Google не может сотрудничать из-за санкций США. Поэтому попасть в список устройств, совместимых с GPU Inspector смогут очень и очень немногие. Однако при должном упорстве Google рано или поздно сможет приблизиться к уровню оптимизации игр для Android, который демонстрирует игры для iPhone. А пока Google старается, я, пожалуй, пересижу на iOS. А вы? AndroidИгры для iPhone и iPadРазработка приложений
Android Apple Huawei IPhone Samsung Xiaomi