Leitura de volta da DPU em produção

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

Casos de uso

O hardware de leitura em voz alta é adequado para:

  • Animações que exigem a transformação de um estado estático da tela inteira, 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 leitura não é adequado para:

  • Capturar um subconjunto do estado da tela que exclui ou oculta outro conteúdo visível na tela

  • Capturar conteúdo protegido por DRM e transmiti-lo para um ambiente inseguro

Ativar a leitura

Para ativar a leitura em voz alta:

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

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

    Isso indica ao sistema que o readback de DPU tem bom desempenho e não tem bugs visuais, estando pronto para uso em produção.

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

Teste de leitura

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