Lettura della DPU di produzione

Android 16 QPR2 ha introdotto la lettura della DPU (Display Processing Unit) di produzione. La lettura 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 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, come le animazioni di spegnimento

  • Casi d'uso dell'intelligenza artificiale (AI) che richiedono la conoscenza dei contenuti dello schermo in un enclave sicuro

  • Test automatici

L'hardware di lettura non è adatto per:

  • 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 vocale

Per attivare la lettura vocale:

  1. Utilizza IComposerClient::getReadbackBufferAttributes per specificare che l'implementazione HWC segnala gli attributi del buffer di rilettura.

  2. Attiva la proprietà di sistema debug.sf.productionize_readback_screenshot.

    Questo indica al sistema che la lettura della DPU è efficiente e priva di bug visivi ed è pronta per l'uso in produzione.

  3. Utilizza l'API di sistema ScreenCapture per richiedere uno screenshot supportato dalla DPU. Il sistema tenta di utilizzare la lettura DPU, se possibile, ma i client API possono richiederla passando il flag CAPTURE_MODE_REQUIRE_OPTIMIZED.

Test della 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.