Por que a mudança de displays é lenta?

6

Eu tive muitos laptops ao longo de muitos anos e, enquanto muitas coisas se aceleraram, uma coisa continua tão lenta hoje quanto há anos: (des) conectando um monitor externo. O que está demorando tanto para detectar a nova exibição e atualizar os buffers de pixel? Eu uso Macs principalmente, mas acho que isso é igualmente lento em outras plataformas.

    
por Josh Bronson 19.05.2010 / 19:49

2 respostas

1

Eu certamente não sei a resposta, mas me lembro de algo que li em Owen Taylor's Boot Poster Challenge :

... the natural latency of external systems - the time it takes a monitor to respond to a DDC probe ...

O DDC parece ser um sistema baseado em I2C, portanto, 100kbps no fio, mas também qualquer MCU / EEPROM do outro lado. Além disso, talvez a placa de vídeo nem mesmo assuma que há um barramento DDC lá para ser testado, então ele faz algum teste de hardware primeiro para ter certeza de que parece sã antes de tentar conversar.

Além disso, posso imaginar ...

Também pode ser uma razão social / econômica: ninguém nunca testa ou anuncia tempo de inicialização para exibições. Eu duvido que existam muitos engenheiros de exibição sentados dizendo "nós devemos fazer a sonda DDC (ou seja qual for o gargalo) mais rápido!". Como nenhum revisor técnico menciona isso, e nenhum site de revisão o relaciona, não é um grande problema para seus investimentos.

E o principal caso de uso para monitores pode nem estar conectando laptops. Se eles acham que está ligando o seu PC no começo do dia (não sei se é verdade ou não, mas se eles acham que é), então o tempo que leva para chegar a um tela útil vai ser dominada pela inicialização do sistema operacional, a luz de fundo se elevando ao brilho, etc.

Finalmente, o software em sistemas embarcados tende a ser realmente horrível. Você já tentou usar a exibição na tela em um LCD recentemente? Esse é o mesmo sistema. : -)

Claro, para desconectar a tela, não faço ideia. Você acha que seria mais rápido, mas na verdade não é. Talvez eles façam um "teste de todas as telas quando algo muda", embora eu não saiba por que isso é necessário.

    
por 21.05.2010 / 23:53
0

Essa é uma ótima pergunta.

Obviamente, isso depende do sistema operacional.

A maior parte do tempo vai recalculando os tamanhos e locais de todas as janelas e, em seguida, repintando-os, o que aciona toda uma cadeia de repaints até os componentes menores. Fontes e outras coisas podem precisar ser recarregadas ou redimensionadas também.

    
por 19.05.2010 / 19:56