Я заметил, что некоторые приложения (например, Visual Studio 2008, Gallio Icarus 3.1) выглядят не так хорошо (например, шрифты размыты), когда я запускаю их на своем ноутбуке, на котором установлены шрифты до 120%, в то время как другие приложения, кажется, четко отображают шрифты.
Я снял флажок «Включить масштабирование в стиле Windows XP». опцию в диалоговом окне «Custom DPI Setting» на панели управления.
Я понимаю, что для приложений на основе WPF, таких как VS2010, имеет смысл выглядеть великолепно, но интересно, какие конкретные настройки API или конфигурации должны быть сделаны такими, чтобы обычный GDI- приложения на базе (например, WinForms) также могут хорошо отображаться.
Это очень похоже на работу DPI Virtualization. Обычно она срабатывает после 120 DPI, но вы, вероятно, получили ее, отключив масштабирование в XP. Если программа не содержит элемент DPIAware в своем манифесте, Vista/Win7 заставит программу выводить данные в буфер памяти и отрисовывать этот буфер с изменением масштаба в соответствии с выбранным DPI. В результате изменения масштаба края шрифта выглядят нечеткими, поскольку пиксели сглаживания больше не соответствуют сетке пикселей ЖК-дисплея.
Большинство программ требуют этого, потому что они просто не знают DPI, запрограммированы рассчитывать на видеоадаптер, настроенный на 96 DPI. Вы получите такие проблемы, как текст, который больше не помещается в элемент управления, слишком маленькие изображения и не изменяемые по размеру окна размером с почтовую марку. Vista - первая версия Windows, которая пытается что-то сделать с этой извечной проблемой, надеясь открыть двери для ЖК-панелей с высоким разрешением. Достижение разрешения 300 DPI не произойдет иначе, давно пора. Особенно для WPF.
Задайте больше вопросов об этом на superuser.com