Tela embaçada ao usar 1/2 resolução nativa

1

Eu tenho um 3200x1800 13 "laptop executando o Windows 10. Muitos aplicativos herdados têm escala DPI terrível e tentei evitar esse problema simplesmente definindo minha resolução para 1600x900. Meu pensamento seria que um pixel 1x1 seria renderizado como 2x2. Obviamente, este não é o caso.

Objetos ainda estão embaçados, embora eu suponha que os pixels teriam simplesmente dobrado e eu teria efetivamente metade do PPI.

Alguém pode me explicar como o Windows está redimensionando as imagens para o meu monitor e se há uma maneira de evitar a dor que é alta escala DPI no Windows?

Mr S
fonte
Embora um pouco tedioso, você pode ir para o .exe do seu programa, clique com o botão direito e selecione Propriedades , debaixo de Compatibilidade tab, cheque Desativar o dimensionamento de exibição em configurações de DPI alto .
boxspah
Eu tentei isso com resultados mistos. Algumas vezes, a fonte ainda é dimensionada incorretamente.
Mr S
É exatamente o que deveria acontecer. Você está efetivamente pegando uma imagem e escalando até 200%, e isso vai ficar ruim.
Hellreaver

Respostas:

0

Eu não sou um especialista, então eu não tenho certeza sobre qual será a minha solução

Se notar um impacto negativo, atualizarei este post.

Evidentemente, a renderização de subpixelas do Windows não funciona dessa maneira por vários motivos.

Depois de aprender isso, comecei a pensar se conseguiria enganar o Windows e pensar que a resolução nativa do monitor era menor do que realmente era. Depois de alguns googling eu encontrei este regkey para a exibição. A chave após a configuração pode mudar.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\SHP144A0_1E_07DF_CC^308AEBB00B16BB169DBCDF562C399811\00\00

Vários valores corresponderam à minha resolução x nativa (3200) e vários à minha y (1800). Eu substituí-los todos com 1/2 seus valores, logado e desconectado e notei que foi corrigido!

Eu não tenho idéia do que isso vai quebrar por favor, tenha cuidado e faça o backup de seu registro.

Mr S
fonte
Eu tenho executado esta solução há quase um ano sem problemas.
Mr S