Acompanhamento sobre resolução de alta DPI

Um dos resultados legais desse diálogo é ver como há interesse em aprofundar-se nos detalhes e dados por trás de alguns dos tópicos, conforme foi dito nos comentários e emails. Estamos nos divertindo ao discutir de forma mais profunda essas questões e observações. Este artigo é um acompanhamento aos comentários sobre alta resolução DPI, compatibilidade entre aplicativos e os problemas gerais com legibilidade em muitas situações. Gostaria de apresentar um gerente de projetos que lidera nossa equipe de Elementos Gráficos da Área de Trabalho; ele vai dar mais informações quanto a nossa discussão sobre elementos gráficos e Windows 7. –Steven

Quando começamos a planejar o Windows 7, analisamos dados dos clientes quanto a hardware de exibição e descobrimos algo muito interessante (e surpreendente). Descobrimos que mais ou menos a metade dos usuários não configurava seus PCs para utilizar a resolução total de tela nativa. Aqui está uma tabela representando os dados que obtivemos do Programa de Feedback do Windows do qual Christina falou num artigo anterior.

 

Não temos como saber com certeza por que os usuários ajustam sua resolução de tela reduzindo-a, mas muitos dos comentários que recebemos corroboram nossa hipótese de que muitos fazem isso porque têm dificuldade em ler textos padrão em displays de alta resolução. Tendo dito isso, alguns usuários provavelmente encontram essa configuração por acaso; por exemplo, por causa de um driver de vídeo incompatível num aplicativo que alterou a resolução por algum motivo, mas não retornou à resolução inicial. Independentemente de por que a resolução da tela está mais baixa, o resultado é um texto borrado que pode aumentar significativamente a vista cansada ao ler na tela de um PC por um período prolongado. Em telas de LCD, grande parte do borrão se deve ao fato de que elas são feitas de pixels fixos. Em configurações de resolução não-nativas, isso significa que o sistema deve apresentar pixels fracionários ao longo de unidades fixas, causando um efeito borrado. Outro motivo para a aparência borrada é que quando a exibição não é configurada para resolução nativa não podemos aproveitar de forma adequada nossa Tecnologia ClearType de Processamento de Texto. , a qual a maioria das pessoas (apesar de nem todos) prefere. É interessante notar que a perda de fidelidade devido à alteração da resolução da tela é menos marcante num display CRT do que num display LCD, principalmente porque CRTs não possuem pixels fixos da mesma forma que os LCDs. Entretanto, por causa das vantagens de custo e tamanho e da popularidade do laptop, displays LCD estão rapidamente ganhando participação de mercado na base de usuários. Outro problema ao trabalhar com uma resolução de tela não-nativa é que muitos usuários configuram inadvertidamente a exibição para uma taxa de proporção também não-nativa. Isso resulta numa imagem que além de borrada é distorcida! Como vocês podem imaginar isso exacerba ainda mais os problemas de cansaço da vista.

Analisando além do texto, a fidelidade resultante para a mídia nesses cenários também fica significativamente reduzida. Com a configuração que muitos usuários têm, mesmo se o hardware for capaz não podem ver conteúdo de TV nativo de “alta definição” de 720p ou 1080p, o que corresponde às resoluções de tela de 1280x720 e 1920x1080 respectivamente. O monitor do PC tem sido tradicionalmente o dispositivo de exibição de “alta definição”, mas sem abordar esse problema nós estaríamos arriscando seguir a indústria de TV nesse sentido. Apesar de ser verdade que somente 10% dos usuários possuem hoje uma tela de PC verdadeiramente capaz de mostrar 1080p, conforme essas telas continuem a cair de preço a base de usuários deve continuar a crescer. Podem apostar que haverá uma nova onda de conteúdo de fidelidade ainda mais alta no futuro, a qual os usuários vão querer aproveitar. Por exemplo, quando as exibições atingirem 400 DPI ficarão quase indistinguíveis de texto impresso no papel. Até a geração atual de leitores de eBooks com uma DPI de aproximadamente 170 se parece bastante com um pedaço de papel por trás de um pedaço de vidro.

Isso mostra que aqui há um benefício real a se aproveitar para usuários finais. Existe uma infra-estrutura no Windows chamada “Alta DPI” que pode ser utilizada para lidar com isso. A Alta DPI não é um novo recurso para o Windows 7, mas foi a partir do Vista que a interface do usuário do OS fez investimentos significativos em suporte para alta DPI (além da infra-estrutura presente anteriormente). Para experimentar isso no Vista, clique com o botão direito do mouse em área de trabalho -> personalizar e selecione “Ajustar Tamanho da Fonte (DPI)” na coluna do lado esquerdo. Nosso pensamento para o Windows 7 é de que se habilitarmos a alta DPI logo de início em displays compatíveis possibilitaremos aos usuários ter uma experiência em fidelidade total além de reduzir o esforço da vista de forma significativa ao ler a partir de uma tela. Há até mesmo infra-estrutura disponível para que detectemos a DPI nativa de um display a fim de configurar melhor as configurações padrão iniciais. Entretanto, ao fazer isso também abrimos uma porta para expor alguns problemas com aplicativos que podem não ser totalmente compatíveis com configurações alta DPI.

Um dos problemas é que para que aplicativos GDI reconheçam DPI, o desenvolvedor deve escrever o código para dimensionar o quadro da janela, tamanho do texto, botões gráficos e layout a fim de corresponder ao fator de dimensionamento especificado pela configuração DPI. Aplicativos que não fazem isso podem apresentar alguns problemas. A maioria deles é de pouca importância, como tamanhos de fonte incompatíveis ou artefatos menos importantes no layout, mas alguns aplicativos apresentam grandes problemas quando executados com configurações de alta DPI.

Podemos atenuar algumas coisas no Windows 7, tais como dimensionamento automático para aplicativos que não reconhecem declaradamente DPI (ver o blog de Greg Schechter sobre o assunto), mas até mesmo esses atenuantes apresentam problemas. No caso de dimensionamento automático, aplicativos que não reconhecem DPI são automaticamente dimensionados pelo gerenciador de janelas. O tamanho do texto corresponde à preferência do usuário, mas também introduz como resultado um efeito borrado para a janela daquele aplicativo. Para aqueles que não conseguem ler um texto pequeno sem o dimensionamento, esse é um recurso necessário para tornar a configuração alta DPI útil. Entretanto, outros clientes poderão somente utilizar aplicativos que se ajustem bem numa alta DPI ou que sofram impacto menor de textos incompatíveis e podem achar que o efeito borrado resultante causado pelo dimensionamento automático é uma opção pior. Temos que escolher uma opção padrão já que não há uma maneira de o OS detectar se um aplicativo reconhece DPI ou não. Sempre voltamos à questão de ponderar os benefícios e analisar as compensações. Em longo prazo, a solução é ter certeza de que os aplicativos sabem ser independentes com relação à resolução e são capazes de ajustar-se às preferências desejadas pelo usuário, o que exige suporte de nossas ferramentas e documentação. O desafio para uma plataforma é entender como chegar lá ao longo do tempo e como produzir a melhor experiência possível durante a transição.

Satisfação do cliente em longo e curto prazo

Utilizando o modelo de TV de alta definição, podemos ver que em longo prazo é desejável ter uma experiência de alta fidelidade. O único problema é que apesar de a infra-estrutura de alta DPI existir há vários lançamentos do Windows (na verdade há um artigo MSDN de 2001 sobre como fazer com que aplicativos reconheçam DPI), não temos certeza de quantos aplicativos são realmente testados nessas configurações. Enfrentamos então um impacto negativo em potencial de curto prazo e não-quantificado sobre os clientes causado por habilitar esse recurso de forma mais ampla. A primeira coisa que fizemos foi quantificar a exposição. Fizemos isso através da realização de um teste com mais de 1.000 aplicativos em nosso laboratório de compatibilidade entre aplicativos para ver como se comportariam com configurações de alta DPI. Os resultados que encontramos estão abaixo, os quais mostram a distribuição de problemas ocorridos com esses 1.000 aplicativos.

Uma observação rápida, quando dizemos "erro" queremos dizer qualquer ocasião na qual o software se comporta de forma inconsistente com as expectativas - isso pode ser algo estético ou uma pane. Classificamos a gravidade desses erros numa escala de 1 a 4, na qual Sev 1 é um problema muito grave (tal como uma pane e/ou perda de dados ou funcionalidade) e Sev 4 é um problema bastante sutil e/ou muito difícil de reproduzir.

A maioria dos aplicativos tem bom desempenho em alta DPI e poucos aplicativos têm perda de funcionalidade importante. Claro que não precisamos nos preocupar com aqueles que funcionam bem. Além disso, se 1% dos aplicativos aparentam problemas importantes em alta DPI isso pode ser um número significativo. Portanto nós analisamos os erros e os colocamos em categorias de acordo com o tipo de problema encontrado. Aqui estão nossos resultados:

 

Descobrimos que um dos problemas mais significativos estava relacionado à UI recortada. Analisando isso mais a fundo, ficou claro que a maioria desses casos ocorreu em configurações nas quais a resolução de tela efetiva era bem baixa (800x600 ou mais baixa). Com base nisso, pudemos desenvolver a UI de configuração de tal forma que minimizamos o número de casos nos quais os usuários configurariam uma resolução efetiva tão baixa. Analisamos as categorias de problemas uma por uma e, quando possível, sugerimos melhoras para cada classificação. Claro que o melhor é prevenir; portanto, a Alta DPI é um objetivo importante para nossas linhas de compromisso de desenvolvedores para PDC, WinHEC e outros locais futuros.

Dados de usuários agregados versus individuais

Algo que podemos observar é que muitos usuários estão aproveitando a Alta DPI atualmente (Vista/XP). Com base nos dados que temos somente uma pequena porcentagem dos usuários está habilitando o recurso Alta DPI atualmente. Isso poderia ser facilmente interpretado como uma mensagem clara dos usuários finais dizendo que não se importam com esse recurso ou que não precisam dele. Uma explicação alternativa poderia ser que a falta de adesão se deve principalmente porque o XP e o Vista somente ofereciam um suporte shell limitado para Alta DPI e a versão do IE que foi lançada com essas plataformas tinha problemas significativos ao exibir tamanhos de fontes incompatíveis e páginas da web mal dimensionadas. Também sabemos através de relatos que há usuários que adoram esse recurso e o utilizaram antes mesmo do Vista. Mais uma vez, temos que interpretar os dados é isso nem sempre fica claro.

A hora certa: será que esse é o recurso certo para o mercado neste momento?

Felizmente, não temos um problema do tipo “o ovo e a galinha”. O hardware já está em campo e no mercado, então é somente uma questão do OS tirar vantagem dele. Do ponto de vista do software, a maioria dos aplicativos de software mais importantes reconhecem DPI (inclusive browsers com zooming melhorado, como o IE 8), mas ainda há alguns aplicativos que podem não se dar bem com Alta DPI. Outra informação importante é que a resolução do display para painéis LCD está alcançando seu máximo no DPI padrão. Para esses displays, não há razão para ultrapassar 1900x1200 sem suporte do OS para Alta DPI, pois o texto ficaria pequeno demais para ler. Além disso, essa resolução já é capaz de reproduzir os vídeos de maior fidelidade (1080p), bem como fotos de 2 megapixels. A combinação entre o hardware existente em campo, oportunidades futuras de ter acesso a melhores experiências e o fato de que o hardware está agora bloqueado no OS e software evidencia que este é o momento certo.

Conclusão

A análise dos dados dos clientes nos ajuda a identificar maneiras de melhorar a experiência do Windows. Nesse caso, vimos claramente que tivemos uma oportunidade de ajudar os usuários a configurar facilmente seu display de forma que pudessem se beneficiar de uma experiência de mídia em alta fidelidade, bem como de textos nítidos apresentados num tamanho adequado. Tendo dito isso, toda vez que investimos num recurso que pode ter um impacto em potencial sobre o ecossistema dos aplicativos Windows queremos ter cuidado ao adiantar os investimentos de vocês em software. Também queremos ter certeza de que nossa comunidade de ISVs estará profundamente envolvida nos estágios iniciais a fim de que possam aproveitar o trabalho sobre plataformas que fizemos para repassar esses benefícios continuamente para seus clientes. Enquanto isso, os testes internos que fizemos e os dados que coletamos foram extremamente importantes para nos ajudar a tomar decisões informadas ao longo do caminho. A Alta DPI é um bom exemplo de como é preciso que todo o ecossistema participe numa solução e de como podemos utilizar os dados dos clientes em campo, bem como testes internos, para determinar os problemas que as pessoas estão encontrando e para nos ajudar a escolher o melhor caminho a seguir.

 --Ryan