Leitura de volta da DPU em produção

O Android 16 QPR2 introduziu o readback da unidade de processamento de tela (DPU) de produção. O readback da DPU foi introduzido pela primeira vez no Android 9 para testar a saída do Hardware Composer (HWC), aproveitando um bloco de hardware para "ler" os pixels na tela na memória acessível à CPU. É possível usar o readback da DPU na produção para casos de uso que exigem a captura de conteúdo em tela cheia.

Casos de uso

O hardware de readback é adequado para:

  • Animações que exigem a transformação de um estado estático de toda a tela, como animações de desligamento

  • Casos de uso de inteligência artificial (IA) que exigem conhecimento do conteúdo da tela em um enclave seguro

  • Testes automatizados

O hardware de readback não é adequado para:

  • Capturar um subconjunto do estado da tela que exclui ou oculta outros conteúdos visíveis na tela

  • Capturar conteúdo protegido por DRM e transmiti-lo para um ambiente não seguro

Ativar o readback

Para ativar o readback:

  1. Use IComposerClient::getReadbackBufferAttributes para especificar que a implementação do HWC informa os atributos do buffer de readback.

  2. Ative a propriedade do sistema debug.sf.productionize_readback_screenshot.

    Isso sinaliza ao sistema que o readback da DPU é eficiente e livre de bugs visuais, além de estar pronto para uso em produção.

  3. Use a API do sistema ScreenCapture para solicitar uma captura de tela com suporte da DPU. O sistema tenta usar o readback da DPU, se possível, mas os clientes da API podem exigir isso transmitindo a flag CAPTURE_MODE_REQUIRE_OPTIMIZED.

Testar o readback

Recomendamos testar várias jornadas do usuário, com foco no desempenho, na correção e no consumo de energia. Teste os casos de uso listados anteriormente para verificar se o desempenho é aceitável e se não há bugs visuais, como oscilação da tela ou mudança de cor não intencional.