Estou tentando entender mais sobre telas HiDPI e DPR
Quais são os algoritmos ou processos por trás de tornar o texto mais nítido em telas HiDPI?
Suponho que haja escalonamento envolvido, já que os monitores HiDPI são renderizados com mais pixels, ou seja, a resolução de 1440 x 900 em monitores HiDPI tem, na verdade, 2880 x 1800 pixels.
Obviamente este não é o único passo, caso contrário o texto nas imagens mostradas ficaria exatamente igual, já que o dimensionamento não altera realmente a "qualidade".
Que outras técnicas são usadas na renderização em telas HiDPI? O anti-aliasing ainda seria usado?
Quando a resolução está definida para 1440 x 900 em um monitor HiDPI. A proporção de pixels do dispositivo (DPR) está definida como 2.
Mas, no meu entendimento, DPR é a proporção entre pixels físicos e pixels lógicos. Nesse caso, o DPR não deveria ser 2560/1440, já que minha resolução física é 2560 x 1600 e a resolução lógica é 1440 x 900? Acho que o DPR é 2, já que 2880/1440 = 2, mas 2880 não é a resolução física linear, deveria ser 2560. Estou confuso
Tentarei responder às suas perguntas reais. Mas, primeiro, recomendo que você abandone as proporções de pixels dos dispositivos e as resoluções lógicas, pois elas são uma lata de vermes.
Em uma tela plana normal (os CRTs são um pouco diferentes, mas também mortos), você terá aproximadamente 96 pixels por polegada (PPI, muitas vezes chamado incorretamente de DPI). Essa é a densidade de pixels. Está diretamente relacionado ao tamanho físico da tela e à sua resolução nativa. Em um painel “High DPI” (na verdade: “High PPI”), a densidade de pixels será muito maior, até três vezes. E é isso, nada mais.
O que fazer com essa alta densidade de pixels também é importante. Você não gostaria de um texto com um terço do tamanho. Então, em vez disso, renderizamos tudo com três vezes o tamanho. (Se tudo fosse fácil, a proporção de pixels do dispositivo é apenas isso: o fator de escala. Mas é exclusivamente uma coisa de CSS. Você não deveria se preocupar com isso como usuário.) Em essência, é isso que faz tudo parecer bem. De repente, temos muito mais pixels para fazer aquele “o” parecer um pouco mais redondo, e o “g” não é apenas uma gosma de pixel.
Os “algoritmos e processos” servem apenas para renderizar os dados vetoriais que constituem a fonte em uma resolução mais alta. Isso não é escala de bitmap, é uma imagem de alta qualidade feita do zero. Para bitmaps reais (imagens de botões, etc.), aplicativos e sites geralmente oferecem versões de resolução mais alta.
Nada diz que você precisa definir a escala de exibição para 300% só porque a densidade de pixels é três vezes maior. Você também pode optar por uma exibição “reduzida” em 200%, para caber mais conteúdo na tela. Você pode até usar escala fracionária, mas isso não é o ideal.
Na verdade, “não é o ideal” que alguns sistemas operacionais usem “hacks” para apoiá-lo. Acho que você está no macOS, que tem aquela coisa “parece 1440×900”. Você está certo: o controle deslizante de escala está na opção 2560/1440 = 1,77 . No entanto, isso não é um bom fator para fins de renderização. Portanto, o macOS permite que tudo funcione internamente a 200% e depois reduz o resultado final. Isso também afeta o desempenho. Veja também esta resposta em Ask Different .