Games

Создавайте потрясающие мобильные игры, которые работают плавно с Adaptive Performance

DAVID BERGER / UNITY TECHNOLOGIESContributor
Mar 30, 2021|6 Мин
Создавайте потрясающие мобильные игры, которые работают плавно с Adaptive Performance
Эта веб-страница была переведена с помощью машинного перевода для вашего удобства. Мы не можем гарантировать точность или надежность переведенного контента. Если у вас есть вопросы о точности переведенного контента, обращайтесь к официальной английской версии веб-страницы.

Узнайте, как использовать Adaptive Performance для настройки мобильной игры - балансировки частоты кадров и графики. Получите последние сведения об обновлениях Adaptive Performance для симуляторов устройств, образцов и скалеров.

Разработчики должны уделять пристальное внимание производительности своих игр на устройствах игроков, особенно при создании более сложных мобильных игр. Ведь проблемы с производительностью могут повлиять на игровой процесс и разрядить аккумулятор устройства. Чрезмерное количество тепла, выделяемое мобильными телефонами, может вызвать тепловое дросселирование, что приводит к падению частоты кадров - проблема, от которой трудно оправиться.

Почему же тепловое дросселирование влияет на производительность вашей мобильной игры? Когда ваша игра пытается выполнить больше работы, например, рендеринг или обработку игровой логики, процессоры и GPU потребляют больше энергии. Увеличение мощности приводит к выделению большего количества тепла, что замедляет работу устройства в попытке снизить его температуру.

Благодаря Unity и Adaptive Performance от Samsung вы можете отслеживать тепловое и энергетическое состояние устройства, чтобы быть готовыми к адекватной реакции. Например, во время длительной игры вы можете динамически снижать уровень детализации или смещение LOD, чтобы убедиться, что игра продолжает идти плавно. Adaptive Performance позволяет разработчикам контролируемо увеличивать производительность, что, в свою очередь, снижает точность графики.

Как работает Adaptive Performance?
Снимок экрана в редакторе

Adaptive Performance работает на всех устройствах Samsung Galaxy. Другими словами, только устройства Samsung могут напрямую воспользоваться преимуществами реализации Adaptive Performance.

Samsung - ведущий производитель Android-устройств, занимающий более трети мирового рынка, согласно данным AppBrain. Это значит, что добавление Adaptive Performance в вашу игру - верный способ повысить производительность на сотнях миллионов устройств.

Хотя вы можете использовать API Adaptive Performance для точной настройки вашего приложения, Adaptive Performance также предлагает автоматические режимы. В этих режимах Adaptive Performance определяет настройки игры на основе нескольких ключевых показателей, включая:

  • Желаемая частота кадров на основе предыдущих кадров
  • Уровень температуры устройства
  • Близость устройства к тепловому событию
  • Устройство, связанное с CPU или GPU

Эти четыре показателя определяют состояние устройства, поэтому Adaptive Performance подстраивает параметры, чтобы уменьшить узкое место. Для этого необходимо предоставить целочисленное значение, называемое индексатором, для описания состояния устройства. Indexer - это система, которая отслеживает тепловое и рабочее состояние вашего устройства и выдает количественный индекс качества.

Масштабаторы представляют собой отдельные характеристики вашей игры, которые могут включать, но не ограничиваться настройками графики и физики. Масштабаторы настраиваются в зависимости от значения индексатора. Вы можете посмотреть, какие скалеры доступны в расширениях Adaptive Performance в Device Simulator.

Моделирование узких мест в симуляторе устройств
Экран с возможностью просмотра сцены

Моделирование узких мест может быть сложной задачей, но благодаря интеграции Adaptive Performance с Device Simulator вы можете тестировать различные сценарии прямо в редакторе, а не ждать, пока устройство нагреется перед бенчмаркингом.

С помощью настроек Thermal в Device Simulator вы можете настроить устройство на дросселирование или на отправку предупреждения о приближающемся дросселировании. Вы также можете настроить уровни и тенденции на положительные, что указывает на то, что устройство выделяет тепло.

Настройки производительности позволяют установить все текущие узкие места: CPU, GPU или целевую частоту кадров. Аналогичным образом можно задать уровни CPU и GPU, чтобы смоделировать частоту их работы.

Настройки Thermal и Performance влияют на то, как Adaptive Performance изменяет производительность вашей игры с помощью индексаторов и масштабирующих устройств. С помощью Device Simulator вы можете включить различные масштабирующие устройства, чтобы увидеть, как Adaptive Performance справляется с вашим устройством, когда оно дросселируется.

Например, вы можете разрешить Adaptive Performance изменять настройки Shadow, если GPU выбран в качестве узкого места, а уровень предупреждения установлен на Throttling при увеличении как тепловых тенденций, так и уровней. Вы также можете переопределить масштабирование с помощью ползунка, чтобы проверить отдельные настройки.

Создание пользовательских масштабирующих устройств
Снимок экрана в редакторе

Adaptive Performance позволяет создавать пользовательские скалеры, чтобы расширить возможности управления игровыми настройками. Сюда входят настройки, которые не предоставляются автоматически.

Чтобы реализовать пользовательский скалер, вы должны реализовать класс AdaptivePerformanceScaler.

Установка параметра QualitySettings.masterTextureLimit, например, предлагает вам описать качество и размер текстуры для каждого уровня.

Основываясь на текущем уровне шкалы, вы можете переопределить виртуальную функцию OnLevel и реализовать логику масштабирования. Текущий уровень, о котором сообщает Adaptive Performance, может подсказать вам установить QualitySettings.masterTextureLimit на более высокое значение, что позволит использовать mipmap всех текстур с меньшим масштабом. При работе с размерами текстур видно, что пользовательский масштабатор влияет на визуальные эффекты и нацелен именно на GPU.

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

Adaptive Performance - это готовые функции, позволяющие вашей игре адекватно реагировать на текущее состояние устройства. Чтобы узнать больше об Adaptive Performance, вы можете просмотреть примеры, которые мы предоставили в менеджере пакетов, выбрав Package Manager > Adaptive Performance > Samples. Каждый образец взаимодействует с определенным скалером, так что вы можете увидеть, как каждый скалер влияет на вашу игру. Мы также рекомендуем ознакомиться с документацией для конечных пользователей, чтобы узнать больше о конфигурациях Adaptive Performance и о том, как вы можете напрямую взаимодействовать с API. Документацию, а также другие соответствующие ссылки можно найти ниже.

Посмотрите видео, чтобы узнать больше об Adaptive Performance. Вы также можете узнать, как реализовать Adaptive Performance, из нашей документации.