Google Pixel 2 støtter maskinvareakselerert tilknytning for bedre batterilevetid under tilknytning

Google Pixel 2 støtter avlastning av tethering – også kjent som maskinvareakselerert tethering – som bidrar til å forbedre batterilevetiden mens du kobler til Internett.

Det er mye om den nye Google Pixel 2/Pixel 2 XL som ennå ikke har blitt avdekket. Google tok en rask en på teknologiverdenen da de plutselig avslørte at de nye smarttelefonene hadde en tilpasset bildeprosessor innebygd kalt Pixel Visual Core, selv om det har ennå ikke aktivert. Det er en annen interessant ting vi har funnet på Pixel 2, selv om vi ikke er 100% sikre på hva de fulle implikasjonene av denne nye funksjonen innebærer. Funksjonen, kalt maskinvareakselerert tethering, vil sannsynligvis forbedre batterilevetiden under mobildatadeling ved å overføre all logikk relatert til pakkevideresending og andre tilknytningsrelaterte oppgaver til maskinvare.

Eksisterende eiere av Google Pixel 2 eller Pixel 2 XL kan finne funksjonen i Utvikleralternativer under kategorien Nettverk. Den er aktivert som standard, så antagelig er den allerede funksjonell på disse enhetene. I Android Open Source Project (AOSP) kan vi se flere forpliktelser relatert til funksjonen under "

tjor-avlastning" stikkord. Vi kan se at det er logikk for overfører smarttelefonens datagrense til avlastingskoden slik at databegrensningen din er ikke overskredet.

Det viktigste er at vi kan se en implementering for "tjor avlast HAL." Hardware Abstraction Layers (HAL) er det som lar Android-systemet kommunisere med WiFi-brikken i SoC som vil håndtere maskinvareakselerert tethering. Denne HAL-en brukes av Android til å avlaste all byrden med pakkevideresending fra Android til maskinvare dedikert for den.

Sluttresultatet er at systemressursene dedikert til mobil datadeling vil bli frigjort til andre formål. Jo mindre enhetens CPU er ansvarlig for tilknytningsrelaterte operasjoner, jo mer strøm spares. Dette kan være spesielt nyttig når enheten går i dvale, fordi for øyeblikket programvarebasert tethering på Android krever at CPU-en holdes våken med en wakelock. Ved å avlaste ansvaret for tjoring på maskinvaren, kan kanskje CPU-en virkelig gå inn i en hviletilstand—forbedre batterilevetiden jo lenger du tjorer.

Så hvilke enheter støtter maskinvareakselerert tethering? Vel, vi har bare funnet bryteren på Google Pixel 2/Pixel 2 XL så langt, så vi antar at bare de enhetene støtter det. I følge Tethering-offloaden som HAL forplikter, ser det ut til at Google testet støtte på Google Nexus 5X (bullhead). Videre, ifølge noen få kommentarer fra Googlere, ser det ut til at Tethering-offload-HAL er ganske leverandørnøytral:

Selv om denne HAL-en har noen få særheter for Qualcomm-oppsettet, er det store flertallet av dette leverandørnøytralt. Enhver leverandør med en passende SoC kan støtte avlastning av tethering-maskinvare med dette, i teorien (de kan hoppe over den ekstra fd-overgangen ved oppsett, hvem vet).

I en annen kommentar nevner en Googler hvordan enheter kan blande og matche WiFi-brikkesett og avlaste HAL-er, men det APIen de har bygget er fortsatt designet for å fungere for å presse den beste batterilevetiden ut av enheten mens tjoring.

Helt øverst definerer vi at denne APIen vil returnere en statisk konfigurasjon. Avhengig av leverandør/maskinvareimplementering, kan disse egenskapene endres. For f.eks. én enhet kan ha wifi fra leverandør A, og laste HAL fra leverandør B. mens en annen enhet kan ha Wifi-brikkesett fra leverandør B og laste HAL fra leverandør B. I dette tilfellet kan avlastningsmulighetene være forskjellige. Selv med begrensede muligheter kan rammeverk/klient ønske å dra fordel av maskinvareavlasting for et begrenset sett. Derfor er API-en designet for å få mest mulig juice ut av maskinvaren, da det kan være variasjoner fra soc til soc-implementering.

Hvis du eier en Google Pixel 2/Pixel 2 XL og ønsker å se statusen til maskinvareakselerert tethering, kan du skrive inn følgende ADB-skallkommando og se etter strenger relatert til "hardware offload:"

adb shell dumpsys connectivity tethering

Vi må gjøre tester for å faktisk se hvor effektiv maskinvareakselerert tethering er for å forbedre batterilevetiden mens tethering. Tethering pleide også å forårsake et stort ytelsestreff, men de massive forbedringene i CPU-hastighet og optimaliseringer i Android har i stor grad løst dette problemet. Dermed forventer vi ikke at avlasting av tethering-logikk via avlastnings-HAL til WiFi-brikkesettet vil føre til en merkbar forbedring i ytelsen.