Почему некоторые приложения выглядят плохо, когда в Windows 7 включены большие шрифты - PullRequest
1 голос
/ 20 августа 2010

Я заметил, что некоторые приложения (например, Visual Studio 2008, Gallio Icarus 3.1) выглядят не так хорошо (например, шрифты размыты), когда я запускаю их на своем ноутбуке, у которого шрифты установлены на 120%, тогда как другие приложения, кажется, делают шрифты четкими.

Я снял флажок «Включить масштабирование в стиле Windows XP» в диалоговом окне «Пользовательские настройки DPI» на панели управления.

Я понимаю, что для приложений на основе WPF, таких как VS2010, имеет смысл выглядеть великолепно, но задаюсь вопросом, какие конкретные параметры API или настройки должны быть сделаны так, чтобы обычные приложения на основе GDI (например, WinForms) также могли хорошо отображаться. *

1 Ответ

2 голосов
/ 20 августа 2010

Это очень похоже на виртуализацию DPI на работе. Обычно он превышает 120 DPI, но вы, вероятно, получили его, отключив масштабирование XP. Если у программы нет элемента DPIAware в манифесте, Vista / Win7 получит программу для рендеринга своих выходных данных в буфер памяти и отрисовки этого буфера в соответствии с выбранным DPI. При изменении масштаба края шрифта выглядят размытыми, поскольку пиксели сглаживания больше не соответствуют сетке пикселей ЖК-дисплея.

Большинство программ требуют этого, потому что они просто не знают DPI, запрограммированы для подсчета на видеоадаптере, настроенном на 96 DPI. Вы получите проблемы, такие как текст, который больше не соответствует элементу управления, изображения, которые являются слишком маленькими и имеют нестабильные окна размером с почтовую марку. Vista - первая версия Windows, которая пытается решить эту давнюю проблему, надеясь открыть дверь ЖК-панелям с высоким разрешением. В противном случае переход на 300 DPI не произойдет, самое время. Специально для WPF.

Задайте дополнительные вопросы об этом на superuser.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...