My question concerns legacy applications that do support a global DPI setting, but are not yet "per monitor DPI aware". These applications can render themselves at any DPI, so they should always render at the display resolution when using just one monitor.
System–DPI Aware Applications
não são renderizados em nenhum DPI - os aplicativos são renderizados em system DPI
e - se um monitor DPI
for diferente de system DPI
- são virtualizados para monitor DPI
. Portanto, mesmo quando você tiver um monitor e esse monitor tiver DPI diferente de system DPI
System–DPI Aware Application
será dimensionado.
But with multiple monitors at different DPI settings, sometimes Windows has to scale them by simple image interpolation. In which situations does that interpolation happen?
Virtualização e renderização para:
-
Not DPI–aware Applications
: processado em96 DPI
, virtualizado em qualquer monitor com DPI diferente de96 DPI
. -
System–DPI Aware Applications
: processado emsystem DPI
, virtualizado em qualquer monitor com DPI diferente desystem DPI
. -
Per Monitor–DPI Aware Applications
: processado emmonitor DPI
(mensagem WM_DPICHANGED), não é virtualizado.
I found conflicting information:
The developer of VirtualDub writes that there is a "Global DPI" setting. All legacy applications are rendered at this resolution and then just interpolated to the respective monitor size. This would mean that on one monitor, legacy applications are always interpolated and blurry.
AnandTech writes that these applications are "initially scaled at the DPI setting of whichever monitor they are opened on". Only if you move them to a different monitor do they get interpolated. Which seems like a much better solution - if you open programs on one screen and leave them there, they should always render at the native resolution.
Who is right?
Se eu entendi corretamente:
- Desenvolvedor do VirtualDub significa
System–DPI Aware Applications
enquanto
- AnandTech significa
Per Monitor–DPI Aware Applications
então ambos estão certos.
Existem - completamente corretas - Microsoft informações que - eu acho - foram uma fonte do artigo da AnandTech.