Android 16 QPR2 ha introdotto la lettura di DPU (Display Processing Unit) in produzione. La lettura di DPU è stata introdotta per la prima volta in Android 9 per testare l'output di Hardware Composer (HWC), sfruttando un blocco hardware per "rileggere" i pixel sullo schermo nella memoria accessibile alla CPU. Puoi utilizzare la lettura di DPU in produzione per i casi d'uso che richiedono l'acquisizione di contenuti a schermo intero.
Casi d'uso
L'hardware di lettura è adatto a:
Animazioni che richiedono la trasformazione di uno stato statico dell'intero schermo, ad esempio le animazioni di spegnimento
Casi d'uso di intelligenza artificiale (AI) che richiedono la conoscenza dei contenuti dello schermo in un enclave sicuro
Test automatici
L'hardware di lettura non è adatto a:
Acquisizione di un sottoinsieme dello stato dello schermo che esclude o nasconde altri contenuti visibili sullo schermo
Acquisizione di contenuti protetti da DRM e trasmissione a un ambiente non sicuro
Attivare la lettura
Per attivare la lettura:
Utilizza
IComposerClient::getReadbackBufferAttributesper specificare che l' implementazione di HWC segnala gli attributi del buffer di lettura.Attiva la proprietà di sistema
debug.sf.productionize_readback_screenshot.In questo modo il sistema viene informato che la lettura di DPU è efficiente, priva di bug visivi e pronta per l'uso in produzione.
Utilizza l'API di sistema
ScreenCaptureper richiedere uno screenshot supportato da DPU. Il sistema tenta di utilizzare la lettura di DPU, se possibile, ma i client API possono richiederla passando il flagCAPTURE_MODE_REQUIRE_OPTIMIZED.
Testare la lettura
Ti consigliamo di testare più percorsi utente, concentrandoti su prestazioni, correttezza e consumo energetico. Testa i casi d'uso elencati in precedenza per verificare che le prestazioni siano accettabili e che non ci siano bug visivi, come lo sfarfallio dello schermo o lo spostamento involontario dei colori.