In DWM in Windows Vista, Windows 7, and Windows 8, there is an option to Use Windows XP style DPI scaling, which sets HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM\UseDpiScaling to 0 and ensures all Win32 apps get native resolution just like in all earlier Win32 versions. When UseDpiScaling is set to 1, DWM applies DPI virtualization above 120dpi in apps that lack dpi aware declaration, resulting in an upscaling from 96dpi, which defeats the purpose of very small pixels. This becomes particularly problematic in Windows 8.1 which not only forces DWM, but also UseDpiScaling registry no longer works, and DPI virtualization for more than 120dpi is seemingly always enforced. Even Windows 95 and Windows NT 3.5 have fully functional DPI scaling with native resolution at all pixel densities, so Win32 had over 25 years of dpi-aware history, so there is no excuse for DPI virtualization. It's really driving me crazy since it seems like this should be just one integer comparison branch in DWM that has to be edited and yet it completely ruins the experience.
Users browsing this forum: No registered users and 1 guest