AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1534995
Accepted
sleske
sleske
Asked: 2020-03-24 02:37:18 +0800 CST2020-03-24 02:37:18 +0800 CST 2020-03-24 02:37:18 +0800 CST

Configuração do Windows "Corrigir dimensionamento para aplicativos" - o que isso faz?

  • 772

Nas configurações do Windows 10 (a partir da versão 1809), há uma configuração "Fix scaling for apps" (em Settings -> Display -> Advanced Scaling Settings), com uma chave seletora que diz:

Deixe o Windows tentar corrigir os aplicativos para que não fiquem embaçados

Entendo que isso muda a forma como o Windows e os aplicativos do Windows lidam com exibições de alto DPI, mas o que exatamente isso faz?

Consegui corrigir um aplicativo com comportamento inadequado alternando essa opção, mas gostaria de entender exatamente o que essa configuração faz, para que eu possa reconhecer quaisquer problemas que ela possa causar.

windows-10 display-settings
  • 3 3 respostas
  • 4406 Views

3 respostas

  • Voted
  1. Best Answer
    harrymc
    2020-04-28T02:37:19+08:002020-04-28T02:37:19+08:00

    tl;dr: A configuração controla GDI Scaling , uma técnica específica para dimensionar a exibição de um programa.

    Para entender o que o Windows faz, é necessário entender como um sistema operacional lida com exibições gráficas.

    Um programa gráfico desenha seus gráficos, que são formas, textos e imagens, em uma superfície virtual. Quando chega a hora de exibir, o sistema operacional traduz essa superfície virtual para o dispositivo de destino, que pode ser um monitor ou uma impressora. Dessa forma, o programa não precisa conhecer e se adaptar ao meio de exibição, pois essa parte é feita pelo SO e seus drivers.

    Os monitores mais recentes de alta resolução e alto DPI criaram o problema de que a exibição de alguns programas pode ser muito pequena para o usuário, exigindo dimensionamento. A Microsoft criou para isso a API para gráficos DPI-Aware, então a exibição pelo programa é adaptada automaticamente, mas poucos programas realmente utilizam essa interface.

    Para programas que não são DPI-Aware (que é a maioria deles), a Microsoft criou mecanismos automáticos para aumentar a exibição. Seu primeiro mecanismo do tipo (já presente no Windows Vista) era baseado em algoritmos de redimensionamento de imagem, o que significa que o Windows pegou a tela pintada pelo programa e a ampliou, traduzindo de fato um pixel desenhado em mais de um. O resultado é o mesmo que ampliar uma imagem, a imagem é maior, mas perderá qualidade e aparecerá borrada.

    A segunda e mais recente tentativa da Microsoft de resolver o problema (introduzida no Windows 10 V1703) é interceptar operações gráficas (GDI) enquanto o programa está desenhando em sua superfície virtual. A Microsoft se refere a isso como GDI Scaling —consulte High DPI Desktop Application Development on Windows . Por exemplo, o programa pode escrever texto usando a fonte em 12 pontos. No entanto, se o destino for uma tela ampliada em 150%, o Windows usará uma fonte definida para 18 pontos, o que fornece resultados perfeitamente legíveis. Outras chamadas de desenho são interceptadas de forma semelhante.

    Esse método é invasivo e pode falhar/interferir com o programa em alguns casos (consulte, por exemplo , problemas de dimensionamento do Windows para dispositivos de alto DPI ), e é por isso que o Windows precisa da permissão do usuário para usá-lo. As permissões podem ser fornecidas em todo o sistema (a configuração "Corrigir escala para aplicativos" sobre a qual você perguntou) ou para cada programa por meio das propriedades do executável (guia "Compatibilidade" / "Alterar configurações de DPI alto").

    • 4
  2. Giorgio Tani
    2020-04-28T17:30:20+08:002020-04-28T17:30:20+08:00

    O Windows 10 pode "ampliar" software e aplicativos que desenham via GDI (incluindo todas as partes do sistema operacional), dimensionando todos os elementos vetoriais para a porcentagem desejada.

    Por exemplo, definir uma escala de 150% redimensionará a janela de 600x400 px para 900x600 px; Ícones de 32x32 px na janela dimensionada serão redimensionados para 48x48 px; um botão 8 px do topo e 16 px da esquerda será movido 12 px do topo e 24 px da esquerda, e fontes de 12 pontos serão desenhadas como 18 pontos. Definir uma escala de 200% duplicará os parâmetros originais e assim por diante.

    Isso preservará o tamanho e a posição relativos de todos os elementos, tornando os itens mais fáceis de ler e clicar ou tocar, portanto, personalizar a configuração de escala pode ser útil de várias maneiras: 1) tornar o sistema e o aplicativo mais legíveis em telas de alto DPI 2 ) permitem ajustar o tamanho dos itens para pessoas com deficiência visual 3) tornam o sistema mais amigável ao toque, pois o toque é menos preciso do que clicar com o mouse e requer mais espaço entre os itens clicáveis

    Esse mecanismo de dimensionamento (chamado "GDI Scaling") na verdade redesenha a saída GDI do software/aplicativo na tela e foi introduzido no Vista - está ganhando força na última década à medida que telas sensíveis ao toque e de alto DPI se tornam cada vez mais comuns. Ele complementa o método de dimensionamento mais antigo que remonta ao XP, onde a saída gráfica era tratada como uma imagem bitmap e dimensionada de acordo, o que fazia com que os aplicativos dimensionados parecessem borrados e claramente distinguíveis da renderização nativa com reconhecimento de DPI, é por isso que o novo mecanismo é referido em termos de "Deixe o Windows tentar corrigir os aplicativos para que não fiquem embaçados".

    Infelizmente GDI Scaling não ajuda para gráficos de bitmap, então eles ainda são dimensionados como bitmaps - no exemplo anterior, um ícone de 32x32 px se tornará 48x48 px, mas será preenchido com o bitmap de resolução inferior de 32x32px aprimorado de qualquer maneira.

    Pior ainda, alguns softwares podem se comportar mal de várias maneiras imprevisíveis se os desenvolvedores originalmente confiarem em suposições que são quebradas pelo sistema modificando o GDI em tempo real para dimensionar a saída na tela, portanto, como um papel de polegar ao alterar as configurações de dimensionamento do software antigo, deve ser cuidadosamente testado. Portanto, o dimensionamento GDI pode ser controlado pela configuração "Corrigir dimensionamento para aplicativos".

    • 2
  3. MicroNateId
    2020-04-29T20:03:57+08:002020-04-29T20:03:57+08:00

    Eu me deparei com esse problema recentemente. Eu acrescentaria às soluções acima, que isso ajuda a corrigir o cenário em que seu laptop tem dimensionamento ativado e você deseja executar um aplicativo "não dimensionado" em seu (s) monitor (es) secundário (s).

    Neste exemplo, o laptop é uma tela de alta resolução e apenas 13 polegadas de tamanho, portanto, é necessário dimensionar para ler as fontes menores, mas tenho vários monitores conectados por meio de conexão USB-C que são HD padrão de 24" e não precisam de fator de dimensionamento aplicado . Ao usar a função de dimensionamento e definir a função de compatibilidade por aplicativo->Alterar configurações de DPI alto, posso remover o dimensionamento dos aplicativos que normalmente executo nos monitores grandes e deixá-lo funcional para aqueles que uso no laptop. Não é uma correção perfeita, mas ajuda no meu cenário.

    • -1

relate perguntas

  • O serviço de arbitragem USB da estação de trabalho VMware não inicia automaticamente

  • Como ativar o sensor de impressão digital no domínio e no diretório ativo do Linux

  • atalho do shell da área de trabalho no painel lateral do explorer

  • Por que não consigo enviar arquivos do Android para o Windows 10?

  • Abrir com em vários arquivos?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve