Google Pixel 2 поддерживает разгрузку привязки, также известную как привязка с аппаратным ускорением, что помогает увеличить срок службы батареи при привязке к Интернету.
В новом Google Pixel 2/Pixel 2 XL многое еще предстоит раскрыть. Google быстро набросился на мир технологий, когда внезапно объявил, что в новые смартфоны встроен специальный процессор изображений, называемый Пиксельное визуальное ядро, хотя это имеет еще не включен. В Pixel 2 мы обнаружили еще одну интересную вещь, хотя мы не уверены на 100%, каковы будут все последствия этой новой функции. Функция, называемая аппаратное ускорение привязки, вероятно, улучшит срок службы батареи во время привязки мобильных данных за счет переноса всей логики, связанной с пересылкой пакетов и других задач, связанных с привязкой, на оборудование.
Существующие владельцы Google Pixel 2 или Pixel 2 XL могут найти эту функцию в настройках разработчика в категории «Сеть». Он включен по умолчанию, поэтому, вероятно, он уже работает на этих устройствах. В проекте Android с открытым исходным кодом (AOSP) мы можем увидеть несколько коммитов, связанных с этой функцией, в разделе «
разгрузка привязки" ярлык. Мы видим, что логика есть. превышение лимита данных вашего смартфона в код разгрузки, чтобы ваш лимит данных не превышено.Самое главное, мы видим реализацию "разгрузка привязки HALУровни аппаратной абстракции (HAL) — это то, что позволяет системе Android взаимодействовать с чипом Wi-Fi в SoC, который будет обрабатывать модем с аппаратным ускорением. Этот HAL используется Android для разгрузки всей нагрузки по пересылке пакетов с Android на выделенное для него оборудование.
Конечным результатом является то, что системные ресурсы, предназначенные для привязки мобильных данных, будут освобождены для других целей. Чем меньше ЦП устройства отвечает за операции, связанные с привязкой, тем больше энергии сохраняется. Это может быть особенно полезно, когда устройство переходит в спящий режим, поскольку в настоящее время для программного модема на Android требуется, чтобы процессор оставался в бодрствующем состоянии с помощью блокировки пробуждения. Переложив ответственность за привязку на оборудование, возможно, ЦП действительно сможет перейти в спящий режим —Чем дольше вы используете привязку, тем дольше продлится срок службы батареи.
Итак, какие устройства поддерживают аппаратное ускорение модема? Что ж, пока мы нашли этот переключатель только на Google Pixel 2/Pixel 2 XL, поэтому предполагаем, что только эти устройства поддерживают его. Судя по рекомендациям HAL по разгрузке привязки, похоже, что Google тестировал поддержку на Google Nexus 5X (бычок). Кроме того, согласно нескольким комментариям сотрудников Google, кажется, что разгрузка привязки HAL довольно нейтральна к поставщику:
В другом комментарии сотрудник Google упоминает, как устройства могут смешивать и сочетать наборы микросхем WiFi и разгружать HAL, но это API, который они создали, по-прежнему предназначен для того, чтобы максимально продлить срок службы батареи вашего устройства, пока привязка.Хотя у этого HAL есть несколько особенностей настройки Qualcomm, подавляющее большинство из них не зависит от поставщика. Теоретически любой поставщик с достаточно функциональным SoC может поддерживать разгрузку оборудования привязки (они могут пропустить дополнительную передачу fd при настройке, кто знает).
В самом верху мы определяем, что этот API будет возвращать статическую конфигурацию. В зависимости от реализации поставщика/аппаратного обеспечения эти возможности могут меняться. Например, одно устройство может иметь Wi-Fi от поставщика A и разгрузить HAL от поставщика B. тогда как другое устройство может иметь набор микросхем Wi-Fi от поставщика B и разгрузить HAL от поставщика B. В этом случае возможности разгрузки могут быть разными. Даже с ограниченными возможностями платформа/клиент может захотеть воспользоваться разгрузкой оборудования для ограниченного набора. Поэтому API разработан так, чтобы максимально эффективно использовать возможности оборудования, учитывая, что в зависимости от реализации могут быть вариации.
Если у вас есть Google Pixel 2/Pixel 2 XL и вы хотите увидеть состояние аппаратного ускорения привязки, вы можете ввести следующее Команда оболочки ADB и найдите строки, связанные с «разгрузкой оборудования:»
adb shell dumpsys connectivity tethering
Нам придется провести тестирование, чтобы увидеть, насколько эффективно аппаратное ускорение привязки увеличивает срок службы батареи во время привязки. Раньше привязка также сильно снижала производительность, но значительное улучшение скорости процессора и оптимизация в Android в значительной степени решили эту проблему. Таким образом, мы не ожидаем, что разгрузка логики модема через разгрузку HAL на набор микросхем WiFi приведет к заметному улучшению производительности.