Android Dynamic Performance Framework (ADPF) помогает разработчикам активно управлять температурой и производительностью устройства, позволяя играм взаимодействовать с системой, получать информацию о температуре (например, прогнозируемый запас мощности) и влиять на поведение. Интеллектуальная адаптация с использованием ADPF предотвращает резкое дросселирование и обеспечивает более плавный и продолжительный игровой процесс. В этом руководстве представлены практические стратегии эффективного использования ADPF. Он ориентирован на индивидуальное детальное масштабирование, привязанное непосредственно к конкретным настройкам качества вашей игры и управляемое тепловыми данными ADPF. Внедряя эти методы, вы можете заранее управлять термальным песком и создавать игры, которые будут работать лучше и дольше, что приведет к более надежному и приятному опыту для игроков.
Настройте масштабирование производительности
Масштабирование подключаемого модуля ADPF по умолчанию может быть нацелено на общие настройки механизма, например «Низкий», «Средний» и «Высокий». Если в вашей игре используются уникальные параметры качества графики, отличные от значений по умолчанию, предположения плагина не будут соответствовать вашему контенту. Вы должны настроить логику ADPF для прямого управления конкретными настройками качества вашей игры для эффективного управления температурой, а не полагаться на несовпадающие настройки по умолчанию. Создайте детальную логику масштабирования, используя данные ADPF, для получения лучших результатов:
- Определите ключевые рычаги : профилируйте свою игру, чтобы определить, какие графические или игровые функции (тени, разрешение, частицы, эффекты, расстояние просмотра) больше всего влияют на производительность и нагрев.
- Разработайте детальные шаги : определите небольшие, постепенные корректировки для отдельных настроек в параметрах качества вашей игры. Постепенно применяйте эти изменения на основе тепловой обратной связи от ADPF (например, используя данные о температурном запасе), чтобы плавно снизить нагрузку на систему, прежде чем произойдет серьезное регулирование.
В предыдущем видео показана проблема рендеринга с ADPF в Unity MegaCity Metro . Поскольку ADPF регулирует расстояние обзора на основе общего диапазона игрового движка, а не диапазона, подходящего для конкретного игрового контента, расстояние обзора становится слишком низким, когда устройство нагревается, что вызывает проблему, из-за которой здания перестают быть видимыми.
Изолировать настройки графики
Избегайте резких изменений предустановок. Независимая настройка отдельных графических настроек обеспечивает более точное управление и более плавную реакцию на температурные условия. Вот несколько советов по настройке параметров:
- Приоритизация воздействия . Сосредоточьте усилия по масштабированию на параметрах качества, оказывающих наиболее значительное влияние на температуру или производительность, выявленное в ходе профилирования.
- Разделение настроек : изменяйте такие настройки, как тени, разрешение и частицы, независимо и последовательно по мере необходимости.
- Плавные переходы . Там, где это возможно, меняйте визуальные настройки постепенно в течение нескольких кадров, чтобы меньше раздражать.
Узнайте, как Netmarble использовала ADPF для оптимизации «Игры престолов: Дорога королей» . Они реализовали динамическое масштабирование разрешения и адаптивную регулировку частоты кадров.
Обеспечьте пользовательский контроль
Некоторые игроки предпочитают последовательную визуализацию динамическим настройкам. Предложите возможность отключить масштабирование с помощью ADPF:
- Реализуйте вариант : добавьте четко обозначенный параметр (например, «Включить динамическую настройку производительности») в графическое меню.
- Объясните выбор : Кратко опишите, что он обеспечивает автоматическую настройку качества для более плавной работы и управления температурой.
- Определить поведение : если этот параметр включен (рекомендуется по умолчанию), запускается пользовательская логика масштабирования ADPF. Если этот параметр отключен, игра использует только настройки, выбранные пользователем вручную, и игнорирует тепловые данные для масштабирования.
Тестируйте на разных устройствах
Аппаратное обеспечение Android значительно различается по тепловой мощности и производительности. Тщательно протестируйте различные типы устройств:
- Определите уровни устройств . Протестируйте на типичных устройствах высокого, среднего и низкого уровня от различных производителей и поставщиков SoC.
- Тестирование тепловой реакции : посмотрите, как разные устройства справляются с нагрузкой и насколько эффективна логика ADPF (и пользовательский переключатель) на каждом уровне.
- Проверка целевых показателей производительности . Убедитесь, что игра соответствует целевым показателям производительности на каждом уровне с активным ADPF и ведет себя предсказуемо при отключении.
- Сбор отзывов . Используйте бета-программы для сбора данных о производительности и температуре с различных реальных устройств.
Отслеживайте производительность и повторяйте действия
Внедрение ADPF требует постоянного мониторинга и доработки для обеспечения баланса между устойчивой производительностью, температурными ограничениями и качеством изображения:
- Установите базовые и целевые показатели . Определите приемлемую производительность (целевой FPS, время кадра) и сначала измерьте поведение без логики ADPF.
- Используйте инструменты профилирования . Регулярно используйте профилировщик Android Studio, инструменты поставщиков графических процессоров и внутриигровые наложения для отслеживания FPS, времени кадра и тепловых данных ADPF во время игры.
- Экспериментируйте и настраивайте : тестируйте различные стратегии реагирования ADPF. Настройте скорость и агрессивность масштабирования настроек в зависимости от теплового воздействия, чтобы найти оптимальный баланс для вашей игры.
- Тестируйте длинные сеансы . Убедитесь, что тестирование включает расширенное время воспроизведения (более 15 минут) для наблюдения за производительностью при постоянной нагрузке и термостабилизацией с активным ADPF.