Independência de resolução - Resolution independence
Independência de resolução é onde os elementos em uma tela de computador são renderizados em tamanhos independentes da grade de pixels , resultando em uma interface gráfica do usuário que é exibida em um tamanho consistente, independentemente da resolução da tela.
Conceito
Já em 1978, o sistema de composição TeX devido a Donald Knuth introduziu a independência de resolução no mundo dos computadores. A visualização pretendida pode ser renderizada além da resolução atômica sem quaisquer artefatos, e as decisões de composição automática são garantidas como idênticas em qualquer computador até um erro menor que o diâmetro de um átomo. Este sistema pioneiro tem um sistema de fontes correspondente , Metafont , que fornece fontes adequadas com os mesmos altos padrões de independência de resolução.
O formato de arquivo independente de dispositivo de terminologia (DVI) é o formato de arquivo do sistema TeX pioneiro de Donald Knuth . O conteúdo de tal arquivo pode ser interpretado em qualquer resolução sem artefatos, mesmo em resoluções muito altas não em uso atualmente.
Implementação
Mac OS
A Apple incluiu algum suporte para independência de resolução nas primeiras versões do macOS , o que pode ser demonstrado com a ferramenta de desenvolvedor Quartz Debug, que incluiu um recurso que permite ao usuário dimensionar a interface. No entanto, o recurso estava incompleto, pois alguns ícones não eram exibidos (como nas Preferências do Sistema), os elementos da interface do usuário eram exibidos em posições estranhas e certos elementos da GUI de bitmap não eram dimensionados suavemente. Como o recurso de dimensionamento nunca foi concluído, a interface do usuário do macOS permaneceu dependente da resolução.
Em 11 de junho de 2012, a Apple lançou o MacBook Pro 2012 com uma resolução de 2880 × 1800 ou 5,2 megapixels - dobrando a densidade de pixels em ambas as dimensões. O laptop foi enviado com uma versão do macOS que fornecia suporte para dimensionar a interface do usuário com o dobro do tamanho anterior. Esse recurso é chamado de modo HighDPI no macOS e usa um fator de escala fixo de 2 para aumentar o tamanho da interface do usuário para telas de alto DPI. A Apple também introduziu o suporte para dimensionar a IU ao renderizar a interface do usuário em uma resolução maior ou menor que a resolução nativa embutida do laptop e dimensionar a saída para a tela do laptop. Uma desvantagem óbvia dessa abordagem é a diminuição do desempenho na renderização da IU em uma resolução superior à nativa ou o aumento da desfocagem ao renderizar abaixo da resolução nativa. Portanto, embora a interface do usuário do macOS possa ser dimensionada usando essa abordagem, a própria IU não é independente da resolução.
Microsoft Windows
O sistema GDI no Windows é baseado em pixels e, portanto, não é independente da resolução. Para aumentar a interface do usuário, o Microsoft Windows oferece suporte à especificação de um DPI personalizado no Painel de Controle desde o Windows 95 . (No Windows 3.1 , a configuração de DPI está vinculada à resolução da tela, dependendo do arquivo de informações do driver.) Quando um DPI de sistema personalizado é especificado, a IU embutida no sistema operacional aumenta. O Windows também inclui APIs para que os desenvolvedores de aplicativos criem aplicativos que serão dimensionados adequadamente.
GDI + no Windows XP adiciona renderização de texto independente de resolução, no entanto, a IU nas versões do Windows até o Windows XP não é totalmente compatível com DPI alto, pois monitores com resoluções muito altas e densidades de pixel altas não estavam disponíveis naquele período. O Windows Vista e o Windows 7 escalam melhor em DPIs mais altos.
O Windows Vista também adiciona suporte para que os programas se declarem ao sistema operacional que estão cientes de alto DPI por meio de um arquivo de manifesto ou usando uma API. Para programas que não se declaram com reconhecimento de DPI, o Windows Vista oferece suporte a um recurso de compatibilidade chamado virtualização de DPI para que as métricas do sistema e os elementos da IU sejam apresentados aos aplicativos como se estivessem sendo executados a 96 DPI e o Desktop Window Manager dimensiona a janela do aplicativo para corresponder à configuração de DPI. O Windows Vista mantém a opção de escala de estilo do Windows XP que, quando ativada, desativa a virtualização de DPI (texto borrado) para todos os aplicativos globalmente.
O Windows Vista também apresenta o Windows Presentation Foundation . Os aplicativos WPF são baseados em vetores, não em pixels e são projetados para serem independentes da resolução.
O Windows 7 adiciona a capacidade de alterar o DPI fazendo apenas um logoff, não uma reinicialização completa, e o torna uma configuração por usuário. Além disso, o Windows 7 lê o DPI do monitor a partir do EDID e define automaticamente o valor de DPI para corresponder à densidade física de pixels do monitor, a menos que a resolução efetiva seja inferior a 1024 x 768.
No Windows 8 , apenas a porcentagem de escala de DPI é mostrada na caixa de diálogo de alteração de DPI e a exibição do valor de DPI bruto foi removida. No Windows 8.1 , a configuração global para desabilitar a virtualização de DPI (usar apenas dimensionamento no estilo XP) foi removida. Em densidades de pixel superiores a 120 PPI (125%), a virtualização de DPI é habilitada para todos os aplicativos sem um sinalizador de reconhecimento de DPI (manifesto) definido dentro do EXE. O Windows 8.1 mantém uma opção por aplicativo para desabilitar a virtualização de DPI de um aplicativo. O Windows 8.1 também adiciona a capacidade de cada monitor usar uma configuração de DPI independente, embora calcule isso automaticamente para cada monitor. O Windows 8.1 impede que um usuário habilite à força a virtualização de DPI de um aplicativo. Portanto, se um aplicativo afirma erroneamente ser compatível com DPI, ele parecerá muito pequeno em exibições com alto DPI no 8.1, e o usuário não pode corrigir isso.
O Windows 10 adiciona controle manual sobre DPI para monitores individuais. Além disso, o Windows 10 versão 1703 traz de volta o escalonamento GDI estilo XP em uma opção "Sistema (Aprimorado)". Esta opção combina a renderização de texto do GDI + em uma resolução mais alta com o dimensionamento usual de outros elementos, para que o texto pareça mais nítido do que no modo de virtualização normal do "Sistema".
Android
Desde o Android 1.6 "Donut" (setembro de 2009), o Android fornece suporte para vários tamanhos e densidades de tela. O Android expressa as dimensões e a posição do layout por meio do pixel independente de densidade ou "dp", que é definido como um pixel físico em uma tela de 160 dpi. Em tempo de execução, o sistema lida com qualquer escala das unidades dp, conforme necessário, com base na densidade real da tela em uso.
Para ajudar na criação de bitmaps subjacentes, o Android categoriza os recursos com base no tamanho e na densidade da tela:
Sistema X Window
A biblioteca Xft , a biblioteca de renderização de fontes para o sistema X11, tem uma configuração de dpi que é padrão em 75. Isso é simplesmente um invólucro em torno do sistema FC_DPI em fontconfig, mas é suficiente para dimensionar o texto em aplicativos baseados em Xft. O mecanismo também é detectado por ambientes de desktop para definir seu próprio DPI, geralmente em conjunto com a família DisplayWidthMM de funções Xlib baseada em EDID . O último tornou-se ineficaz no Xorg Server 1.7; desde então, as informações de EDID são expostas apenas ao XRandR .
Em 2013, o ambiente de desktop GNOME iniciou esforços para trazer independência de resolução (suporte "hi-DPI") para várias partes da pilha de gráficos. O desenvolvedor Alexander Larsson escreveu inicialmente sobre as mudanças necessárias no GTK + , Cairo , Wayland e nos temas GNOME. No final das sessões do BoF no GUADEC 2013, o desenvolvedor do GTK + Matthias Clasen mencionou que o suporte ao hi-DPI seria "bastante completo" no GTK 3.10 assim que o trabalho no Cairo fosse concluído. Desde janeiro de 2014, o suporte hi-DPI para Clutter e GNOME Shell está em andamento.
Gtk suporta o escalonamento de todos os elementos da IU por fatores inteiros, e todo o texto por qualquer fator de número real não negativo. A partir de 2019, o dimensionamento fracionário da IU aumentando e diminuindo a escala é experimental.
Outro
Embora não esteja relacionado à verdadeira independência de resolução, alguns outros sistemas operacionais usam GUIs que são capazes de se adaptar aos tamanhos de fonte alterados. Microsoft Windows 95 em diante usado a fonte Marlett TrueType para dimensionar alguns controles de janela (fechar, maximizar, minimizar, redimensionar alças) para tamanhos arbitrários. O AmigaOS da versão 2.04 (1991) foi capaz de adaptar seus controles de janela a qualquer tamanho de fonte.
Os videogames costumam ser independentes da resolução; um dos primeiros exemplos é Another World for DOS , que usava polígonos para desenhar seu conteúdo 2D e mais tarde foi refeito usando os mesmos polígonos em uma resolução muito maior. Os jogos 3D são independentes da resolução, já que a perspectiva é calculada a cada quadro e, portanto, pode variar sua resolução.
Veja também
- Adobe Illustrator
- Corel Draw
- Direct2D
- Exibir PostScript
- Himetric
- Inkscape
- Zoom da página
- Web design responsivo
- Tela Retina
- Gráficos Vetoriais Escaláveis
- Synfig
- Twips
- Interface gráfica do usuário baseada em vetor
- Gráficos vetoriais
