Как изменить значение dpi в виндовс: Высокие значения DPI в ОС Windows / Хабр

Содержание

Высокие значения DPI в ОС Windows / Хабр

Windows, начиная с Vista, предоставляет два механизма для адаптации приложений к мониторам с высокой плотностью пикселей (точек на дюйм, DPI): увеличенные системные шрифты и полномасштабное увеличение окон. К сожалению, попытка заставить некоторые ваши приложения работать в каком либо из режимов может оказаться безуспешной, благодаря сочетанию нерадивых разработчиков и плохих решений принятых Microsoft.

Эта страница предназначена для того, чтобы помочь пользователям понять и исправить, возможные проблемы при настройке высоких значений DPI. Пожалуйста, обратите внимание что мы рассмотрим только традиционные приложения Windows, не Windows Store («Metro», «Modern UI») приложения. Последние используют новый API WinRT, который обеспечивает собственный механизм масштабирования.


  1. От переводчика
  2. Методы масштабирования
  3. Как изменить установки DPI
  4. Типы приложений, как они масштабируются (или не масштабируются)
  5. Дальнейшее чтение для разработчиков (без перевода)

От переводчика

В этой статье применяются следующие сокращения которые я счел переводить не целесообразно: Графический Интерфейс Пользователя (GUI), Точек На Дюйм (DPI), DPI-Aware приложения – приложения которые умеют при различных значениях DPI правильно, без искажений отображать свой GUI, Графический Интерфейс Устройства (GDI). Мои комментарии (выделены курсивом).

Методы масштабирования

Традиционно родные приложения Windows для рабочего стола используют два механизма вывода на экран:

  • Функции Графического Интерфейса Устройства (GDI) для доступа к дисплею. Как правило, GDI координаты измеряются непосредственно в пикселях экрана независимо от размера монитора и плотности пикселей.
  • И вывод текста используя системные шрифты Windows. Это не является обязательным, но большинство приложений использует системные шрифты для большей части их графического интерфейса пользователя (GUI).

Изначально большинство мониторов было с плотностью пикселей около 96 точек на дюйм. Так что GUI, использующий эту особенность, выглядел примерно одинаково на любой системе. Но, как только плотность пикселей увеличивается, элементы GUI таких приложений уменьшаются в пересчете на сантиметры или дюймы(реальные, которые измеряются с помощью линейки приложенной к монитору). Мелкий текст и другие мелкие детали становиться все труднее разглядеть.

Чтобы исправить ситуацию, Microsoft решила, что неплохо встроить какой-нибудь метод масштабирование в Windows. Один из двух методов описанных ниже (Windows XP или Vista), применяется когда пользователь устанавливает DPI со значением выше чем стандартные 96 точек на дюйм. Оба метода пытаются увеличить размер элементов изображения.


Масштабирование в стиле Windows XP

Первый из этих методов, как можно догадаться, появился в Windows XP. Этот метод, на самом деле, не является методом масштабирования приложений с графическим интерфейсом как таковой. Масштабируются, при более высоких настройках DPI, только системные шрифты и некоторые элементы пользовательского интерфейса системы (я бы назвал его «метод НЕ масштабирования» в стиле Windows XP).

Все остальные элементы приложений по-прежнему отображаются в масштабе 1:1. Единственной разницей в их внешнем виде является то, что любой текст и некоторые элементы GUI, выводимые с помощью системных функций, вдруг становиться больше. Например, текст на кнопках. Это вызывает очевидные проблемы которые мы обсудим чуть позже.


Масштабирование в стиле Windows Vista или DPI виртуализация

Windows Vista представила второй вариант со странным названием, «масштабирование дисплея», без каких-либо уточнений, видимо, чтобы окончательно запутать пользователей. Мы будем использовать более описательное имя – метод DPI виртуализации. Когда этот метод включен, Windows по-прежнему выполняет масштабирование в стиле Windows XP. Также как и прежде размеры всех системных шрифтов и некоторых элементов интерфейса системы увеличиваются.

Разница в том, что приложения, которые могут правильно использовать высокие значения DPI, должны сообщить об этом Windows. Такие приложения должны установить новый DPI-Aware флаг, либо путем вызова функции Win32 API «SetProcessDPIAware», или, предпочтительно, путем встраивания манифеста с флагом dpiAware. А вот если у приложения отсутствует DPI-Aware флаг, Windows ведет себя по другому, сначала она формирует внутреннее отображение в масштабе 96 точек на дюйм (эмулируя для приложения DPI равный 96), а затем, масштабирует полученное изображение в соответствие с текущими настройками DPI перед выводом на экран.

Это было бы фантастическим метод масштабирования если бы все наши мониторы имели плотность пикселей последних аппаратов iPhones (326 точек на дюйм). К сожалению это не так. Окна приложений масштабированные таким образом выглядят чересчур размыто, при популярном разрешении 120 точек на дюйм (@homm это не разрешение, кстати). Поэтому, Microsoft по умолчанию отключает DPI виртуализацию, если вы выберете плотность пикселей меньше или равную 120 DPI.


Как изменить установки DPI

В Windows 7/8, откройте «Панель управления», a затем выберите «Оформление и персонализация», затем «Экран», и, наконец, выберите «Установить размер шрифта (DPI)» (Windows 7) или «Пользовательские параметры размера» (Windows 8). Вы увидите следующее диалоговое окно (Windows 7, в Windows 8 почти идентично):

В раскрывающимся списке можно выбрать нужную настройку DPI в процентном соотношении, где 100% соответствует 96 DPI, 125% — как на скриншоте, соответствует 120 точкам на дюйм (можно более точно записать значение вручную). До Windows 8 фактическое значение DPI («пикселей на дюйм») отображалось рядом с размером системного шрифта. Windows 8, по непонятным причинам, не показывает значение DPI, так что вы должны рассчитать его самостоятельно.

Также вы можете приложить линейку (у которой есть шкала в дюймах) к экрану, и пытаться совместить маркировку на ней с маркировкой на экране, изменяя значение в раскрывающимся списке. Флажок, обведенный красным внизу, определяет, следует ли использовать только масштабирование в стиле Windows XP, или также новый способ DPI виртуализации. Если флажок не отмечен, как на скриншоте, то DPI виртуализация включена.

Декламация. Это диалоговое окно пример интерфейса не дружественного к пользователю. На первый взгляд кажется, что это флажок для отключения масштабирования в стиле Windows XP. Но этот метод масштабирования (который только увеличивает системные шрифты и другие элементы пользовательского интерфейса системы — масштабирование Windows XP) всегда включается при выборе высокого значения DPI. На самом деле этот флажок управляет, будет ли этот метод единственным (Использовать только масштабы в стиле Windows XP), или также будет применен метод «DPI виртуализации» для приложений, которые не имеют DPI-Aware флага. Так что этот флажок не контролирует метод масштабирования указанный в его название, а контролирует другой метод масштабирования, нигде не упомянутый — и позволяет использовать новый метод, когда флажок снят!

Ошибка в Windows 8. В дополнение к этому, в Windows 8 это диалоговое окно с ошибкой. Как правило, все работает как и в Windows 7, но состояние флажка не сохраняется на значениях DPI 150% и выше. Когда вы устанавливаете этот флажок, «DPI виртуализация» правильно отключается. Тем не менее, сам флажок остается не отмеченным, когда вы в следующий раз открываете этот диалог.


Изменения в Windows 8.1, или почему все размыто?

В Windows 8.1 флажок для масштабирования в стиле Windows XP исчез, и теперь «DPI виртуализация» никогда, не используется при значениях DPI до 120 включительно, но всегда используется при более высоких значениях для тех программ, у которых отсутствует DPI-Aware флаг. Если некоторые приложения кажутся вам нечеткими, необходимо вручную отключить для них DPI виртуализацию.

Windows 8.1 позволяет использовать несколько мониторов с разным значением DPI. Однако эта функция, также заставляет использовать «DPI виртуализацию» для традиционных приложений, которые перемещаются между мониторами с разными значениями DPI. Чтобы этого избежать, можно отключить в настройках «DPI масштабирование», используя новую опцию «Я хочу выбрать один масштаб для всех дисплеев».

Также Windows 8.1 добавляет специальный переключатель для настройки 200% и новый API, чтобы разработчики могли выборочно отключать «DPI виртуализацию».


Помогите, мои системные шрифты не правильного размера!

Иногда, после изменения настроек DPI, вы можете заметить что некоторые системные шрифты стали слишком большими или слишком маленькими для новых установок. Вероятной причиной является то, что вы используете пользовательскую тему рабочего стола на основе ваших старых настроек DPI. Windows не масштабирует шрифты пользовательской темы.

Если вы на самом деле создали пользовательскую тему рабочего стола и хотите сохранить её, вам придется самостоятельно адаптировать шрифты к новым настройкам DPI. Однако, Windows имеет раздражающую привычку «услужливо» создавать пользовательские темы без вашего ведома, по какой-либо причине. Так что, если вы никогда не создавали пользовательскую тему рабочего стола просто удалите её и вернитесь к стандартной теме.

В Windows 7/8, откройте Панель управления, выберите «Оформление и персонализация», а затем «Персонализация». Если вы видите выбранную запись в строке «Мои темы», это означает, что ОС Windows использует тему пользователя, системные шрифты которой Windows не будет масштабировать. Выберите стандартную тему, например, первую запись в разделе «Темы Aero» (Windows 7) или «Windows» «Темы по умолчанию» (Windows 8) и удалите нежелательные записи в разделе «Мои темы». Теперь, все системные шрифты должны отображаться правильно.


Типы приложений, как они масштабируются (или не масштабируются)

Теперь давайте рассмотрим какие методы должны использоваться для существующих Windows приложений при высоких значениях DPI. Следующая таблица обобщающая, позже мы рассмотрим различные случаи более подробно.





DPI-Aware флаг не установлен DPI-Aware флаг установлен
Не DPI-Aware Нужно использовать DPI виртуализацию Нужны исправления от разработчиков
DPI-Aware Нужно использовать масштабирование в стиле Windows XP Всегда масштабируется правильно

Приложения вообще не заботящиеся о DPI — это либо очень старые или плохо написанные, но, тем не менее, по-прежнему используемые. Одним известным примером является ITunes от Apple для Windows. Здесь разработчики используют системные шрифты для GUI и, не заботясь о фактических размерах шрифта, они жестко привязывают размеры окон к разрешению 96 DPI, естественно искажая GUI, когда при более высоких значениях DPI увеличиваются размеры шрифтов.

Такие приложения требуют нового метод масштабирования «виртуализации DPI», к сожалению, это часто делает интерфейс размытым. В противном случае вы столкнетесь с проблемами начиная, от обрезания текста до перекрытия элементов контроля, иногда, делая GUI полностью непригодным (к счастью, это, случается редко). За эти годы я собрал несколько образцов скриншотов не корректных приложений.

Пример приложения, работает только при DPI равном 96

разрешение 150% (144 DPI)



Приложения умеющие подстраивать свой GUI под различные значения DPI, но не имеющие DPI-Aware флага — Это типичные приложения эпохи Windows XP. Здесь разработчики позаботились, чтобы получить фактические размеры шрифтов системы перед созданием GUI. Такие приложения отображаются корректно при использование масштабирования в стиле Windows XP. К сожалению, так как они не устанaвливают DPI-Aware флаг, чтобы сообщить Windows этот факт, для них, по умолчанию, будет использована «DPI виртуализация», делая их GUI нечетким. Это может вам не понравиться, так что, вы, возможно, захотите принудительно использовать стиль масштабирования Windows XP для таких приложений.
Пример такого приложения и разрешение 150% (144 DPI)

Приложения умеющие подстраивать свой GUI под различные значения DPI, имеющие DPI-Aware флаг — Это новейший тип приложений которые полностью беспроблемны, независимо от настроек DPI. DPI-Aware флаг установлен автоматически для Windows Presentation Foundation (WPF) и GDI+ приложений, так как эти APIs предоставляют встроенные средства масштабирования. Разработчикам использующим старый GDI API и (удивительно) Windows Forms, нужно вручную помечать свои DPI-Aware приложения.

Приложения не приспособленные к изменению DPI, но имеющие DPI-Aware флаг — это еще хуже чем полностью игнорирование значения DPI. В примерах вы найдете GUI приложений, хорошо масштабируемых вплоть до 120 DPI, но не выше, или приложений JavaFX. Тут мы уже ничего сделать не можем, т.к. у нас нет возможности заставить Windows использовать DPI виртуализацию, для таких программ. После того как DPI-Aware флаг установлен, приложение должно масштабировать себя самостоятельно. Мы можем только «пилить» разработчиков исправить их продукт — или использовать что-то другое.


Выбор метода масштабирования для ваших приложений

После того как вы решили что вы хотите использовать высокое значение DPI, ваш выбор метода масштабирования зависит от приложений в которых вы работаете. Имейте в виду, что, отключить «DPI виртуализацию» означает, установить флажок (check box) с некорректным названием «Использовать масштабы в стиле Windows XP» и наоборот.

  • Если вам так невероятно повезло использовать только те приложения, которые являются одновременно DPI-Aware и устанавливают нужный флаг, тогда не имеет значения какой метод масштабирования вы выберете. Все приложения будут использовать масштабирование в стиле Windows XP, а DPI виртуализация никогда не будет использоваться.
  • Если вы используете только хорошо написанные DPI-Aware приложения, но некоторые из них не устанавливают необходимый флаг, вы можете отключить «DPI виртуализацию». Таким образом, все приложения будут отображаться правильно без какого-либо замыливания вследствие масштабирования. Если ваш монитор имеет очень высокую плотность пикселей, такую, что масштабированные растровые изображения больше не выглядят размытыми, вы, возможно, захотите включить DPI виртуализацию в любом случае.
  • Если у вас есть одно или несколько приложений не приспособленных к изменению DPI и не имеющие DPI-Aware флага, необходимо включить DPI виртуализацию, если вы не готовы мириться с перекошенным GUI приложений. К сожалению, тут возникает еще одна проблема, потому что, Microsoft реализовала эту опцию неудобно. Вы можете включить DPI виртуализацию только для всей системы, а не для отдельного приложения, а затем выборочно отключать для отдельных приложений.

Напоминаем, что в Windows 8.1 уже нет возможности выбора в этом вопросе. Если вы работаете при разрешении в 120 точек на дюйм (125%), каждая программа будет вынуждена использовать масштабирование в стиле Windows XP, a если вы работаете с более высоким разрешением, каждая программа, которая не является DPI-Aware, будет использовать по умолчанию «DPI виртуализацию».


Отказ от DPI виртуализации для отдельных приложений

После того как вы решили включить DPI виртуализацию или вы работаете в Windows 8.1, с разрешением более чем 120 точек на дюйм, вы можете проверить систему на предмет наличия DPI-Aware приложений, которые не имеют соответствующий флаг. И вернуть им возможность использовать масштабирование в стиле Windows XP, для которого они предназначены. Есть два способа сделать это, первый работает только для 32-разрядных приложений, второй универсален и подходит также для 64-битных приложений.

32-разрядные приложения — Это просто: щелкните правой кнопкой мыши на исполняемом файле в Проводнике Windows, выберите диалоговое окно «Свойства», перейдите на вкладку «Совместимость» и установите флажок «Отключить масштабирование изображения при высоком разрешении экрана». Вот и все, в Windows 8.1 это также работает для 64-битных приложений.

64-разрядные приложения — Без всякой видимой причины, возможно чтобы позлить пользователей 64-битных приложений, в Windows 8 и более ранних, упомянутый выше флажок, для 64-разрядных приложений отключен, хотя сам вариант вполне функционален, если внести изменения непосредственно реестр! Так что, запустите редактор реестра и перейдите к этому ключу:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

Теперь добавьте строковое значение (REG_SZ), чье имя является полным путем к исполняемому файлу приложения и значением которого является HIGHDPIAWARE. Я рекомендую, чтобы вы сначала изменили несколько 32-битных приложений, как описано выше, чтобы вы могли увидеть некоторые примеры значений в этом ключе реестра.

Мы рассмотрели, как можно использовать настройки DPI на Windows Vista и более поздних версиях. И если вы когда-нибудь задумывались, для чего предназначена опция совместимости — «Отключить масштабирование изображения при высоком разрешении экрана». И почему она ничего не делает на вашей системе, теперь вы знаете: она эффективна, только если у вас включена общесистемная опция «DPI виртуализации» и только для приложений, которые не устанавливают DPI-Aware флаг должным образом, но при этом корректно используют масштабирование в стиле Windows XP.


Дальнейшее чтение

For more information about both scaling methods from a developer perspective, see the MSDN article Writing High-DPI Win32 Applications. This content has moved to Writing DPI-Aware Desktop and Win32 Applications. This lengthy article also contains a sample manifest to declare an application as DPI-aware, as well as sample screenshots for the various scaling methods and tips on display scaling in native code.

Unfortunately, the article currently only covers Windows XP through 7. See Writing DPI-Aware Desktop Applications in Windows 8.1 Preview (Word DOCX) and Chuck Walbourn’s Manifest Madness for additional information on Windows 8 and 8.1.

Outside of Microsoft, Gastón Hillar has published two articles targeting Windows 8.1 at Dr. Dobb’s. Part 1 covers basic concepts, and part 2 shows C/C++ sample code for the Win32 API.

You might also wish to check out Andrew McKinlay’s The Joys of High DPI for a nice (and terrifying) war story on working with high DPI in Windows 7. Lastly, see DPI Scaling in Windows GUIs for an evaluation of .NET and Java GUI frameworks with regard to DPI scaling.

P.S. Ссылка по теме и как посмотреть DPI-Aware флаг приложений.

Спасибо homm за помощь.

Улучшения масштабирования DPI в Windows 10

Как и в более ранней версии Windows, Обновление создателей также содержит множество новых функций и улучшений, а не только заголовки. Среди многих реализованы улучшения (DPI) масштабирования с высокими точками на дюйм. Наблюдалось, что настольные приложения могут выглядеть размытыми или иметь неправильный размер, если они настроены для работы на дисплее с высоким DPI или при использовании дисплеев с высоким DPI в сочетании со дисплеем со стандартным DPI. Это особенно заметно при использовании технологий удаленного взаимодействия, таких как протокол удаленного рабочего стола (RDP). Улучшения с высоким DPI в обновлении Creators предназначены для решения этих проблем.

Улучшения масштабирования DPI в Windows 10

Немногие из внутренних улучшений, таких как улучшения с высоким DPI в Creators Update, делятся на две категории:

  1. Улучшения для разработчиков настольных приложений
  2. Улучшения для конечных пользователей

Первое изменение связано с введением новой возможности автоматического масштабирования DPI для каждого монитора для каркасов пользовательского интерфейса рабочего стола. Это делается путем добавления нового добавленного нового контекста осведомленности (DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2), который мы называем версией 2 для каждого монитора (PMv2)

PMv2 технически является DPI_AWARENESS_CONTEXT. Он специально разработан для предоставления функций масштабирования для каждого монитора, которые отсутствовали в первоначальной реализации осведомленности для каждого монитора. Этот контекст включает следующее:

  1. Уведомления об изменении DPI дочернего окна
  2. Масштабирование не клиентской области
  3. Автоматическое масштабирование DPI для диалогов
  4. Детальное управление масштабированием диалогов

Усовершенствования для конечных пользователей направлены на то, чтобы улучшить вашу жизнь как пользователя Windows, когда дело доходит до использования Windows в средах со смешанным DPI. Некоторые из улучшений, которые являются частью Обновления Создателей, включают:

Переопределение масштабирования DPI

В некоторых случаях вам может потребоваться запускать настольные приложения, которые плохо отображаются на экране с высоким разрешением. В таких случаях может потребоваться принудительно запустить приложение как процесс, не поддерживающий DPI. Это приведет к тому, что приложение будет размытым. Таким образом, несмотря на размытость, действие сделает непригодным для использования приложение пригодным для использования. Вы можете включить эту функцию в свойствах .exe:

Системное (улучшенное) масштабирование DPI

Есть приложения, которые сопротивляются изменениям в масштабировании DPI. Microsoft хочет сделать это гладким делом. Таким образом, он ищет способы, с помощью которых Windows может автоматически выполнять масштабирование DPI.

В обновлении Creators появилась новая функциональность, которая четко отображает текстовые результаты на дисплее с высоким разрешением только для приложений на основе GDI. Таким образом, для приложений, основанных на GDI, Windows теперь может масштабировать их по DPI для каждого монитора. Это означает, что эти приложения будут автоматически настраиваться для поддержки DPI для каждого монитора.

Microsoft включила масштабирование GDI по умолчанию для некоторых встроенных приложений. Например, консоль управления Microsoft (mmc.exe) в обновлении создателей. Это означает, что многие встроенные оснастки Windows, такие как Диспетчер устройств, получат преимущества от этой функции в Обновлении создателей.

Другие приложения, которые получат выгоду от этой возможности, включают,

Internet Explorer

До обновления Создателей, когда вы пытались переместить Internet Explorer на дисплей с другим DPI или иным образом изменили DPI дисплея, на котором он находился (закрепление/отмена/изменение настроек/RDP/и т. Д.), Содержимое веб-страницы просматривали бы масштаб DPI, но фрейм приложения — нет. Это было преодолено в Windows 10 Creators Update. Так что теперь, когда вы запускаете Internet Explorer и Edge рядом на вторичном дисплее со 100% масштабированием дисплея, основной дисплей будет использовать масштабный коэффициент с высоким DPI, а окна приложения будут перемещены на вторичный дисплей с низким DPI ,

На снимке экрана ниже вы можете заметить, что пользовательский интерфейс Edge уменьшен, но кадр Internet Explorer по-прежнему отображается с коэффициентом масштабирования основного дисплея.

В обновлении Creators это выглядит так:

DPI-масштабирование дочернего окна

Масштабирование DPI в смешанном режиме, появившееся в Windows 10 Anniversary Update, позволило пользователям иметь различные режимы масштабирования DPI в каждом окне верхнего уровня в приложении. Однако в масштабировании отсутствовала поддержка масштабирования DPI для дочерних окон. Эта схема, к сожалению, остается неизменной в Windows 10 Creators Update, т.е.В Windows 10 Creators Update отсутствует поддержка масштабирования DPI для дочерних окон

Иконки рабочего стола

Основным раздражителем при работе дисплея в режиме «Расширение» была невозможность совмещения значков рабочего стола или масштаба DPI с несколькими дисплеями, содержащими разные значения масштабирования DPI/дисплея. Обновление ОС в форме Creators Update решает эту очень неприятную проблему.

Вот что вы увидите перед обновлением Creators:

После обновления:

Документация для разработчиков с высоким разрешением

Документация с высоким разрешением, которая была доступна на MSDN до сих пор, стала неактуальной и теперь ушла в прошлое. Зачем? Руководства по написанию приложений с поддержкой DPI для каждого монитора были написаны с учетом периода Windows 8.1. С тех пор многое изменилось и сильно изменилось. Многие уязвимости DPI API Windows не были тщательно задокументированы. Все это требовало тщательной очистки и сборки вещей с нуля. С выходом Windows 10 Creators Update вы можете ожидать, что эти изменения вступят в силу.

Для получения дополнительной информации см. Блог Windows.

как изменить и настроить скорость

Мышка Компьютерная мышка — один из самых главных аксессуаров, которые обязательно приобретаются вместе с компьютером. Без неё сложно представить управление современным ПК и даже для ноутбуков, которые имеют сенсорную панель управления, всё равно дополнительно покупается мышь. Это наиболее удобный способ получить доступ ко всем функциям устройства. На современном рынке представлено огромное количество моделей, которые имеют всё больше и больше новых функций. Не каждый пользователь осведомлён обо всех тонкостях использования. Например, что такое DPI? Как правильно его настроить? Обо всём этом вы узнаете в данной статье.

Содержание статьи

Как настроить DPI на мышке

Для начала стоит разобраться в том, что же такое вообще дпи. Эта таинственная аббревиатура расшифровывается как Dots Per Inchs, что простыми словами означает количество точек, преодолеваемое мышкой во время её перемещения. Одним словом, это чувствительность аксессуара, которая не слишком существенна во время простого использования, но играет огромную роль для тех, кто играет в игры или пользуется такими программами как Photoshop.

МышкаДля того чтобы повысить продуктивность не только в играх, но и в обычной работе, нужно обязательно знать значение DPI своей мышки и то, какими способами его можно повысить. Иногда, впрочем, требуется, наоборот, понизить значение, чтобы использование компьютера стало более комфортным. Обычные мыши, к которым мы все привыкли, имеют значение DPI примерно в 1000. Но существуют и специальные геймерские модели, в которых этот показатель значительно выше — и это неудивительно, ведь именно в играх требуется максимальная чувствительность всех составляющих, чтобы процесс доставлял удовольствие и можно было добиться каких-либо результатов.

Но если у вас не такое продвинутое устройство, переживать не стоит. Нужно всего лишь знать, как поменять DPI на мышке.

Сделать это можно двумя способами: с помощью специальной кнопки, которая присутствует далеко не на каждой модели и стандартными средствами системы Windows.

ВАЖНО! Обратите внимание, что настроить чувствительность можно всё же в пределах возможностей каждой отдельной мышки. Сделать так, чтобы самая дешёвая офисная мышь «летала» наподобие дорогой геймерской вряд ли получится.

Как изменить dpi на любой мышке

Несмотря на то что очень многое зависит именно от модели устройство, попробовать хоть немного изменить DPI с помощью операционной системы.

  • Для этого понадобится перейти в настройки мыши. Они находятся в панели управления — выберите пункт «Мыши».
  • После этого следует установить ползунок скорости ровно на середину и выключить повышенную точность установки показателя, чтобы у Windows не было возможности влиять на скорость перемещения курсора.

ВАЖНО! Обратите внимание, что иногда чувствительность также называют словом «сенса» от английского «sencitivity». Это название больше распространено среди геймеров и людей, которые хорошо разбираются в компьютерах и других устройствах.

  • Затем попробуйте найти параметр «Скорость движения указателя». Он поможет изменить системные настройки мыши и получить некоторый эффект. Важно понимать, что в этом случае значительного улучшения ждать не стоит — мышь останется такой же, какой и была. Изменяется лишь внутренние характеристики, установленные в самом компьютере.

Кроме того, при настройке DPI не следует перебарщивать — в этом случае пользоваться мышью станет довольно сложно. Курсор станет передвигаться очень быстро и малейшее движение будет выглядеть так, как будто вы только что дёрнули устройство из одной стороны в другую.

И тогда придётся искать способ, как уменьшить сенсу на мышке. Регулировать чувствительность можно также и в играх. Большинство геймерских мышей оснащены специальной инструкцией по настройке или даже имеют специальное программное обеспечение для этой цели.

Кроме того, настройка в операционной системе Windows может быть и более детальной. Рассмотрим подробнее всё, что можно сделать с DPI мыши, если её чувствительность вас не устраивает.

Настройка

Как изменить скорость мышки на Windows

Изменить можно не только скорость перемещения курсора в виндовс, а именно дипиай, но и другие, более узкие параметры: скорость прокрутки текста, щелчка или другое. Для того чтобы разобраться во всех этих тонкостях, придётся внимательно изучать предлагаемые в Панели управления настройки.

Разные модели компьютеров, а также версии операционной системы, могут иметь иногда существенные, а иногда лишь мелкие отличия. Поэтому если вы хотите идеально настроить мышь под себя, то нужно действовать методом проб и ошибок. Многое также зависит от производителя и модели самой мышки.

Увеличить скорость

Увеличить скорость работы может быть необходимо в случае с двойным щелчком. Это одна из наиболее часто используемых команд, которые выставлены в Windows. Но иногда приходится сталкиваться с тем, что щелчок не срабатывает или программа открывается слишком долго. Возможно, проблема в механическом повреждении или загрязнении устройства, но будет нелишним попытаться просто увеличить скорость щелчка.

  • Для этого перейдите в настройки и выберите параметр «Мышь».
  • На первой вкладке «Кнопки» вы увидите пункт «Скорость двойного щелчка». Именно с его помощью можно решить проблему с долгим открыванием самых разных программ. Очевидно, что никакого механического вмешательства больше не потребуется.

Чтобы изменить скорость перемещения и чувствительность, в общем, необходимо перетянуть соответствующий ползунок вправо. Большинство пользователей уверяют, что комфортная работа получается тогда, когда он стоит чуть вправо от середины. Но в данном случае настройки индивидуальны — попробуйте несколько положений бегунка и выберите для себя лучшее.

Мышка

Уменьшить скорость

Если же скорость нужно уменьшить, то ползунок передвигается влево. Таким образом можно значительно изменить чувствительность и скорость работы мыши.

Некоторые производители, в большинстве случаев, те, кто производит геймерские модели, предлагают вместе с устройством специальное программное обеспечение. Оно представляет собой программу, в которой можно дополнительно изменить самые разные настройки мышки.

Мышка Внутренний интерфейс каждой такой программы может существенно отличаться, но чаще всего вы сможете найти нужные параметры в меню драйверов под пунктами «Перемещение мыши» или другими похожими названиями. Это позволит подкорректировать более тонкие настройки, чтобы мышь была чувствительна именно настолько, насколько нужно для того или иного вида деятельности, связанного с работой компьютера. Уменьшить скорость можно также и в некоторых играх — иногда курсор слишком стремительно летает по экрану, что мешает игроку выполнять все нужные задания правильно. Кроме того, можно корректировать чувствительность во время разных квестов, чтобы получить максимум преимуществ.

Теперь вы знаете, что такое DPI компьютерной мышки, для чего нужен этот параметр и как его изменить. Обладая этими знаниями, вы сможете сделать своё устройство идеально подходящим для себя, а также поймёте, стоит ли приобретать дорогостоящую модель, если есть возможность значительно повысить комфортность использования самостоятельно.

Подпишитесь на наши Социальные сети

Сложности современного масштабирования, часть 2

Как масштабирует интерфейс Windows от XP до 8

В этой части статьи речь пойдет о правилах масштабирования интерфейсов приложений в разных версиях Windows, а также о тех алгоритмах, которые применяет система.

Итак, в первой части статьи мы поговорили об основных сложностях, которые возникают при масштабировании интерфейсов. Это важно потому, что если мы понимаем, какие проблемы существуют и как они проявляются, то нам будет легче понять, чего хотел добиться в итоге производитель и почему он выбрал те или иные пути для достижения результата.

Далее речь пойдет о том, как работает масштабирование в операционных системах Windows, какие есть плюсы и минусы у существующих механизмов и насколько они готовы к работе с экранами с высокой плотностью пикселей.

DPI-aware: методики масштабирования приложений традиционного десктопа Windows

В принципе, ОС Windows уже давно имеет возможность масштабировать интерфейс, в т. ч. посредством изменения dpi. До Windows ХР включительно эта технология работала следующим образом. Приложение может либо полностью самостоятельно готовить содержимое своего окна и уже потом передавать его в систему для отрисовки (в GDI), либо частично использовать собственные ресурсы, а частично — ресурсы системы. Большинство приложений пользуются теми или иными ресурсами системы, так проще и удобнее для разработчиков. При этом ресурсы системы, разумеется, оптимизированы производителем для корректного масштабирования. Что же касается собственных ресурсов приложения, то о них должен позаботиться разработчик. Это, в общем-то, логично. Однако в мире существует огромное количество программ, компоненты которых ведут свою родословную с замшелых годов, когда о масштабировании интерфейса и его элементов никто не думал. И еще больше в мире программистов и разработчиков, которые не осознают/не могут/ленятся учитывать возможность масштабирования при создании интерфейсов своих приложений. В результате интерфейс приложения может красиво и целостно смотреться при dpi=96, но стоит изменить этот параметр, как элементы полезут друг на друга, текст перестанет помещаться в предназначенные для него места и т. д. Некоторые примеры описаны в инструкции Microsoft по оптимизации приложений под масштабирование. Они довольно очевидны, поэтому перечислим основные:

  • элементы не помещаются на свое место в интерфейсе;
  • шрифт слишком большой или слишком маленький;
  • нарушено расположение элементов;
  • размытые элементы интерфейса;
  • пикселизированные элементы интерфейса;
  • неправильное расположение элементов, влияющее на ввод;
  • частичное отображение полноэкранного приложения;
  • неправильное использование эффективного разрешения.

В большинстве случаев вина за сбои интерфейса при масштабировании лежит на разработчиках приложения. Ведь именно они должны проектировать интерфейс приложения так, чтобы он корректно отображался при разном уровне dpi. В идеале — использовать пропорциональные размеры и векторную графику. По данной теме существует довольно много материалов в помощь разработчкам, однако на практике большинство из них этим вопросом не занимаются, экономя собственные силы. Впрочем, об этом мы поговорим чуть ниже. А пока — пара примеров оттуда же: шрифт не помещается в отведенное пространство; некорректное отображение разных шрифтов.

В существующей парадигме открытой платформы Windows компания Microsoft не имеет возможности воздействовать на разработчиков, точнее — не имеет возможности требовать от них строгой оптимизации под масштабируемость. Остается действовать методом убеждения, даже несмотря на его низкую эффективность во многих случаях. Ситуация усугубляется тем, что сейчас на рынке появляется все больше дисплеев (в т. ч. и в ноутбуках), которые при настройке dpi=96 просто невозможно использовать, поэтому проблема масштабирования встает все более остро. При этом все шишки за некорректное масштабирование сыплются именно на Microsoft, что в значительной степени несправедливо.

У компании не было другого выхода, кроме как попытаться изобрести какое-то универсальное решение, которое работало бы независимо от приложения и позволяло исправлять огрехи разработчиков. Новый универсальный механизм масштабирования был представлен в Windows Vista, он же используется в современных версиях, 7 и 8. Его основной особенностью стала виртуализация dpi.

Разница между старым и новым методом состоит, грубо говоря, в следующем. Оба механизма позволяют выставить в системе глобальную настройку dpi: 96 (стандарт), 120 (увеличенный масштаб) либо пользователь может задать любой удобный ему масштаб вручную. А вот дальше начинаются различия: в традиционном механизме система сообщает приложениям текущий dpi и на этом умывает руки; как уже там приложение отмасштабируется — не ее дело. Новый механизм основан на оценке совместимости приложения. Приложение, которое оптимизировано и умеет правильно масштабироваться, должно само сообщить об этом системе (это и называется DPI-aware application). Для этого предусмотрено два способа: либо вызовом из программы, либо в манифесте. Но с первым способом возможны проблемы, если используется кэширование DLL (здесь описано подробнее), поэтому даже Microsoft не рекомендует его использовать. В случае, если приложение должным образом уведомило систему, ему предоставляются корректные данные о системной настройке dpi, и оно занимается масштабированием собственного интерфейса самостоятельно.

Если же приложение не сообщает о поддержке оптимизации, то задействуется стандартный алгоритм Windows, включающий механизм виртуализации dpi. Работает он следующим образом: система сообщает приложению, что dpi=96, т. е. оно работает в дефолтном масштабе. Исходя из этого, приложение формирует свое окно со всеми элементами в обычном режиме, после чего оно передается системе (в DWM, Desktop Window Manager; подробнее о его роли в масштабировании можно почитать, например, здесь) для вывода на экран. Особенность работы DWM состоит в том, что он сначала по полученным от приложений инструкциям рисует картинку, а потом уже в виде графики выводит ее на экран. Так вот, в случае, если приложение не имеет оптимизиации, то система сначала рисует его окно для дефолтного dpi, а потом самостоятельно масштабирует его до нужного размера (т. е. приводит его к глобальному dpi) и только после этого выводит на экран. В этот момент приложение воспринимается уже как картинка, т. е. размеры и взаимное расположение элементов жестко зафиксированы и не будут меняться. Основной плюс этого решения в том, что оно работает всегда и везде, для любого приложения и любого экрана.

Но есть и минусы, куда же без них. Во-первых, если приложение уже отрисовано под текущее разрешение, то после перемасштабирования оно может не помещаться на экран. Во-вторых, и это самое главное, при масштабировании картинки вверх возникают искажения и теряется четкость, прежде всего шрифтов. Для наглядности возьмите любую картинку в jpeg и попробуйте посмотреть на нее с масштабом 120-130%. А на экране это выглядит примерно вот так (96 и 192 dpi — это как раз то, что приложению сообщила система):

Итак, что получается: один механизм масштабирования был заменен на другой? Нет, это было бы слишком просто для Microsoft. В реальности система работает по гораздо более сложному и запутанному сценарию. На странице настройки (проще всего до нее добраться из окна управления разрешением экрана) нам доступны в принципе все те же параметры, что и в Windows XP, включая фиксированные настройки 100%, 125% и 150% (96 dpi, 120 dpi и 144 dpi), а также возможность свободного масштабировния виртуальной линейкой (это один из пунктов меню слева, так сразу и не догадаешься). И здесь же находится «волшебная» галочка XP style dpi scaling (в русской версии — «Использовать масштабы в стиле Windows XP», такой самостоятельный шедевр загадочного перевода), которая ответственна за существенную часть всей путаницы.

Самое забавное, что по умолчанию эта галочка включена, т. е. задействован именно «старый» механизм масштабирования ХР. Тут может возникнуть вопрос: а зачем городить огород с новым механизмом, если он по умолчанию отключен? Но на самом деле все не так однозначно: до определенного уровня масштабирования работает старый механизм, а дальше должен включаться новый. Однако момент переключения представляет собой загадку. Представители Microsoft весьма точно и однозначно объясняют, что старый алгоритм работает до 120 dpi, а новый начинает работать со 144 dpi. А между? Старый добрый Microsoft любит однозначность трактовок. В реальности все еще сложнее, это мы увидим при практическом тестировании.

В Microsoft, видимо, следовали следующей логике: разница между 96 dpi и 120 dpi не настолько значительная, чтобы нарушения в интерфейсе стали заметными. Зато огрехи масштабирования в «новом» алгоритме будут больше всего заметны именно в этом диапазоне. Поэтому если масштаб не сильно отличается от базового значения 96 dpi, то лучше оставить старый механизм масштабирования, который позволяет сохранить четкость векторных и системных элементов (в первую очередь, шрифтов). А уже при бо́льших отклонениях от стандарта — использовать новый. Собственно, именно этим объясняются многочисленные вопросы и жалобы на форумах, что после 120 dpi Windows ведет себя по-другому. Таким образом, для того чтобы включился новый механизм масштабирования, вам необходимо снять галочку или выставить масштаб больше, чем 120 dpi.

Что мы получаем в результате? Если приложение не умеет масштабировать свой интерфейс (или разработчики не занимались этим вопросом), то для любых настроек dpi система может самостоятельно масштабировать окно приложения так, чтобы оно выглядело более-менее пристойно. В результате пользователь сможет, несмотря на некоторые небольшие неудобства, работать с приложением в удобном ему масштабе.

Тем не менее, механизмы масштабирования операционной системы представляют собой некий аварийный вариант и должны задействоваться только в исключительных случаях. По общему правилу, приложение должно быть оптимизировано и корректно работать при самых разных настройках dpi. Разработчики должны изначально строить интерфейс так, чтобы он сохранял читаемость и расположение элементов даже при изменении масштаба.

Тем более что для обучения и коррекции было достаточно времени: мониторы со сверхвысокой плотностью пикселей выходят на рынок только сейчас, а агитация за правильные масштабируемые интерфейсы идет больше 10 лет, и за тот срок наработано много материалов и практических рекомендацией. Вот, например, гайдлайны по правильному созданию приложений с точки зрения масштабирования: на секундочку, 2001 год. Правильной работе интерфейсов при разном масштабе уделялось серьезное внимание в рамках Windows Presentation Foundation (WPF). В их гайдлайнах тоже есть много интересного. Подробнее можно почитать здесь: Википедия (англ), введение в WPF на MSDN и каталог ресурсов. Есть много других материалов, посвященных тому же, например этот.

Однако не умеющих правильно масштабироваться приложений до сих пор полно. То ли программисты не знают о доступных им возможностях, то ли банально ленятся. Причем отсутствует оптимизация в таких приложениях, что разработчики там должны были бы сгореть со стыда, типа iTunes для Windows или продуктов Adobe.

Впрочем, не стоит сваливать все только на разработчиков. В само́м механизме масштабирования Windows есть немало подводных камней, способных превратить оптимизацию приложения в веселый и познавательный, а главное — длительный процесс. Не говоря уже о некоторых откровенных багах (например, если в Windows 8 проставить галочку на злополучном XP style dpi scaling, то в следующий раз функция уже будет включена, но вот галочка стоять не будет). Или взять тот факт, что для работы этого механизма в Windows 7 должна быть включена функция Aero. Или, например, что Windows не будет менять размер несистемных шрифтов, которые могут использоваться в кастомизированных темах. Так что при использовании сторонних тем при изменении масштаба шрифты могут оказаться слишком большими или слишком маленькими. Или можно вспомнить примеры некорректной работы некоторых вроде бы системных элементов (вот один из примеров). В общем, выполнение всех гайдлайнов не гарантирует отсутствия проблем и уж тем более не отменяет необходимости тестирования с разными настройками dpi.

Сложности возникают даже с таким, казалось бы, простым элементом, как само уведомление об оптимизации (статус DPI-Aware). Про необходимость прямого указания в манифесте приложения мы писали выше, но не забыть это сделать — не единственная проблема. В идеале все выглядит просто: либо приложение поддерживает правильное масштабирование, либо нет. В реальной же жизни… В реальности часто встречаются и оставшиеся два варианта, в том числе когда интерфейс поддерживает правильное масштабирование, но флага в манифесте нет (потому что автор не знает, что его нужно ставить, или по каким-то причинам не стал его включать). В этом случае для приложения будет работать системный алгоритм масштабирования, хотя не должен — без него результаты были бы лучше. Причем юмор в том, что если выставить для проверки dpi = 120, все чудесно отмасштабируется и разработчик останется в уверенности, что все сделал правильно. Но стоит выставить 144 dpi…

Иногда бывает, что флаг стоит, а приложение правильно масштабироваться не умеет — либо все, либо какие-то элементы. В таких ситуациях флаг ставят, скорее всего, чтобы не включалась виртуализация и не замыливалась итоговая картинка, а на возможные проблемы с интерфейсом не обращают внимания, считая их незначительными. Это может быть необходимо, если в приложении идет работа с текстом, и вред от неправильного масштабирования перевешивает неудобство работы. Но если dpi будет слишком сильно отличаться от базового, то с интерфейсом просто невозможно будет работать, а система уже ничего сделать не сможет.

Кстати, у пользователей есть возможность выключать механизм виртуализации dpi не только для системы целиком, но и для отдельных приложений. Это может быть полезно как раз в таких пограничных ситуациях: когда по общему правилу виртуализация нужна (например, у вас экран со сверхвысоким PPI), а одному приложению она сильно мешает.

Только для этого его надо сначала включить (т. е. снять галочку с настройки XP Style scaling, как написано выше) для всей системы. Для 32-битных приложений масштабирование в стиле Vista/7 (т. е. виртуализацию dpi) можно выключить в настройках приложения (меню по правой кнопке мышки, в разделе «совместимость») — там есть специальная галочка. А вот для 64-битных так почему-то не сделаешь (функция отключена, спасибо специалистам Microsoft), там придется повозиться. Нужно зайти в реестр, в этот ключ:

HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionAppCompatFlagsLayers

Добавить строчную переменную string value (REG_SZ) с именем в виде полного пути к файлу приложения, а параметр выставить в HIGHDPIAWARE. Чтобы яснее понимать, как эти ключи выглядят, сначала лучше посмотреть, как это работает с 32-битными приложениями (там ключ создается автоматически при установке галочки).

Таким образом, качество работы приложения при изменении системного dpi во многом зависит от того, насколько грамотно оно сделано и насколько учитывает возможность масштабирования интерфейса. Windows, со своей стороны, имеет сложный механизм самостоятельного масштабирования приложений, который должен обеспечить некий средний уровень удобства работы с приложением даже в том случае, если самостоятельно оно масштабируется некорректно.

Windows 8: подход новый, проблемы старые

Новый интерфейс (и новая модель приложений в общем) дал Microsoft уникальную возможность: создать новую концепцию масштабируемого интерфейса, которая была бы избавлена от груза совместимости и накопленных ошибок и при этом учитывала бы и плюсы традиционного подхода, и накопленный опыт в создании современных интерфейсов для мобильных устройств. Плюс, новая система должна быть простой и удобной — как для создателей приложений и интерфейсов, так и для пользователей.

Тем более что насущная потребность в правильном и универсальном алгоритме масштабирования была одним из краеугольных требований к системе. Легко Apple: всего два разрешения, да еще и с простой двукратной разницей. Мелочи жизни! Windows 8 должна хорошо работать на уже существующих устройствах, у которых комбинаций разрешение/размер было штук пятнадцать, и при этом постоянно появляются новые, а старые сходят со сцены. Кроме того, не стоит забывать про нарастающее давление производителей устройств, которым необходима поддержка экранов с высокой плотностью пикселей, обеспечивающих гладкие линии и шрифты и пр. Причем не просто поддержка, а качественная поддержка!

Для начала поговорим о доступных разрешениях. Изначально минимальным полноценно рабочим разрешением (при котором поддерживаются все функции) для Windows 8 было установлено 1366×768. Согласно логике разработчиков, доля экранов с меньшим разрешением пренебрежимо мала (в районе 1%) и продолжает падать. В то же время оптимизация приложений под интерфейс с низким разрешением может представлять собой серьезные сложности и существенные дополнительные затраты для разработчиков — по крайней мере, так изначально объясняли свою позицию в Microsoft.

Однако слабый старт системы, видимо, заставил компанию немного пересмотреть свои взгляды, и сейчас вроде бы в качестве минимального разрешения установлено 1024×600, чтобы дать возможность производителям выпускать с Windows 8 даже 7-дюймовые планшеты. Очень спорное, на мой взгляд, решение, но сейчас вообще такой момент, что без риска не выживешь.

Впрочем, несмотря на то, что минимальным полноценным разрешением ранее было объявлено 1366×768, интерфейс приложений должен показываться корректно при минимальном разрешении 1024×768. Последнее требование появилось из-за технологии Snap.

В новом интерфейсе Windows 8 приложения всегда разворачиваются на весь экран, оконного режима просто нет. Благодаря технологии Snap экран можно разделить между двумя приложениями: одно, полноценно работающее, разворачивается на 2/3 экрана, а второе, вспомогательное — на оставшуюся треть. Работающее в режиме Snap приложение ограничено по горизонтали 320 пикселями, и при разрешении экрана 1366×768 приложения поделят его на 1024 и 320 пикселей. Кстати, если разрешение экрана меньше минимально допустимого, например 1280×800, то Snap не будет работать.

Пропорции разделения экрана для Snap жестко заданы, свободно перераспределять место нельзя (в следующей версии, Windows Blue, обещают возможность делить экран пополам). Это, по словам Microsoft, тоже сделано для упрощения жизни разработчиков: они могут один раз нарисовать интерфейс для жестко заданного соотношения сторон и не волноваться, что с ним случится при свободном изменении ширины окна.

В качестве максимального разрешения на данный момент указано 2560×1600, однако система будет корректно работать и с экранами с более высоким разрешением. Хотя я с трудом представляю себе логику, согласно которой приложения на экране с диагональю 30 дюймов и таким разрешением должны раскрываться только на полный экран. Чем этот экран занять? Возможно поэтому Microsoft говорит не о сопутствующем росте физического размера экранов, а скорее об увеличении плотности пикселей, приводя в качестве примеров планшеты с экранами 11,6 дюйма (Microsoft просто никак не может от них оторваться) с разрешением Full HD, а дальше рассчитывает на появление устройств Quad-XGA, 2560×1440 при диагонали 11,6 дюйма (253 PPI).

Раз уж все параметры являются произвольными, значит система должна корректно работать с любой диагональю, разрешением и плотностью пикселей, а в идеале — сама подбирать все нужные параметры интерфейса, включая масштаб, исходя из физических характеристик конкретного экрана.

Именно этот сценарий реализован для Windows 8 (кстати, Windows 7 тоже умеет выставлять масштаб в зависимости от монитора, но там ОС выбирает, насколько я понял, из двух значений: 96 и 120 dpi). Информацию о разрешении, размере и параметрах монитора ОС получает из расширенной информации EDID, которую предоставляет сам монитор (подробнее в википедии (англ), также есть тема на нашем форуме, которая хорошо иллюстрирует, насколько все непросто). Исходя из полученных данных, система оценивает сочетание параметров монитора и выбирает оптимальный размер виртуального DPI (масштабирования), при котором размер элементов и шрифтов близок к оптимальному. Причем делает это в полностью автоматическом режиме.

Настройки являются глобальными для системы и применяются ко всем приложениям; насколько я понял, выставить для одного приложения другие параметры нельзя (хотя, вполне вероятно, в недрах реестра такая возможность закопана). Также нельзя поменять вручную размер шрифта, чтобы при этом размеры картинок, плиток и т. д. остались неизменными. С одной стороны, такая настройка могла бы быть весьма полезной (например, в ситуации, когда размеры плиток в меню вас устраивают, а шрифт кажется мелковатым). С другой, велик риск порушить весь внешний вид интерфейса.

Судя по форумам, проблемы с автоопределением в основном встречаются у HTPC, подключенных к телевизорам, т. к. телевизоры не выдают EDID и операционная система не может правильно определить параметры экрана. В этом случае пользователям приходится настраивать параметры метро-интерфейса отдельно. Для этого есть несколько вариантов:

  • Панель управления — ease of access, и там увеличить изображение. Работает только для метро-интерфейса.
  • Прямое исправление диагонали экрана в реестре, все достаточно очевидно, но если хотите лезть в реестр — на свой страх и риск.
  • Стороннее ПО (как обычно).

В предыдущем разделе мы уже выяснили, что у десктопа есть фактически четыре настройки:

  • 100%/96 dpi
  • 125%/120 dpi
  • 150%/144 dpi
  • Свободное масштабирование интерфейса «по линейке»

Что касается нового интерфейса Modern UI (ex-Metro), то для него Microsoft предлагает три базовых формата:

Другими словами, речь опять идет не о свободном масштабировании, а о неких фиксированных величинах. Причем какой именно масштаб использовать — решает система в автоматическом режиме. Здесь можно посмотреть таблицу соотношения параметров разрешение/dpi.

Microsoft утверждает, что и это решение в первую очередь выгодно разработчикам приложений, т. к. упрощает им жизнь. Теперь достаточно проверить работоспособность интерфейса в трех положениях, и если он показывается нормально, то ваше приложение всегда будет выглядеть хорошо. В режиме десктопа, где доступно свободное масштабирование, оптимизировать интерфейс сложнее. Поэтому чаще всего разработчики ограничивались тем, что оптимизировали интерфейс под 96 dpi, делали более-менее нормальную реакцию на растягивание окна — и ладно.

Даже несмотря на то, что масштабов всего три, Windows предлагает два варианта дизайна. Лучше использовать векторные форматы для отображения шрифтов и графических элементов — тогда система сама всегда сможет отмасштабировать их до нужного уровня. В качестве нового пути Microsoft предлагает средства XAML и CSS, особо упирая на то, что это открытые и общепринятые стандарты. Использование векторной графики позволяет гарантировать, что интерфейс будет качественно масштабироваться под любой экран. Второй путь — разработчик может приготовить три набора графических элементов под каждый масштаб, а система (при правильном оформлении внутри приложения) выберет нужный.

С технической точки зрения жизнь разработчика становится проще: теперь Windows 8 берет на себя бо́льшую часть работы, связанной с масштабированием, отрисовкой элементов и пр. Иначе говоря, технически стало проще. С другой стороны, на мой взгляд, с точки зрения концепции стало сложнее: раз уж система «работает одинаково» на всех устройствах, начиная от 10-дюймового планшета и заканчивая 27-дюймовым десктопом (и разрешениями от 1024×768 до 2560×1600), то разработчику нужно так извернуться, чтобы интерфейс нормально выглядел на любом из этих разрешений с точки зрения и организации, и информационной насыщенности. Ах да, и чтобы пальцем работать было удобно на любом из них. Тем более что, напомню, концепция современного (метро-) интерфейса предполагает, что приложения разворачиваются всегда на полный экран, окон с «произвольным масштабом», как на десктопе, там не бывает.

Microsoft предлагает разработчикам на выбор два основных пути организации интерфейса приложения. Первый — адаптивное масштабирование.

Условно говоря, у вас есть заданный оптимальный размер элементов и шрифтов, и при росте разрешения у вас будет расти количество элементов, которые влезают на экран. В метро-интерфейсе новые элементы чаще появляются не ниже существующих, а правее, и лента прокручивается по горизонтали. На современных мониторах стандарта 16:9 такая организация должна позволить более эффективно использовать площадь экрана.

Второй вариант — фиксированный набор элементов.

Этот вариант предполагает, что количество и взаимное расположение элементов на экране фиксировано, и с ростом разрешения (размера) экрана они просто увеличиваются в размере. Microsoft в качестве примера такого интерфейса приводит шахматную доску. Действительно, в этом случае вам необходимо видеть все поле независимо от масштаба, и нет никаких дополнительных элементов, которые имело бы смысл размещать на экране при появлении дополнительного места.

Есть и другие случаи: например, если управление в игре сделано в виде картинок на экране, то при росте разрешения они должны оставаться на своем месте и иметь примерно тот же размер. В этом случае удобно, что есть всего три фиксированных масштаба — легко можно оптимизировать внешний вид приложения под любой из них.

Таким образом, для нового интерфейса Microsoft предлагает новый подход к масштабированию системы и приложений, причем подход системный и логичный. Во многом он избавляет разработчиков от головной боли, связанной с необходимостью оптимизации интерфейса под разные размеры, разрешения экрана и пр.: им достаточно следовать простым правилам, чтобы приложение всегда работало корректно. При этом у них есть и описание системы, и учебные материалы с примерами, и нужный инструментарий.

С другой стороны, этот подход загоняет разработчиков в жесткие рамки, которые во многих случаях не позволят им реализовать все задуманные возможности. Но к чему привела свобода творчества, мы уже видели на примере десктопа. Просто там у Microsoft нет инструментов давления на разработчиков, а вот в отношении приложений под новый интерфейс — есть. Те приложения, которые не удовлетворяют требованиям Microsoft, просто не попадут в магазин приложений Microsoft Store, а это единственный существующий способ вообще установить их в систему пользователя.

Некоторые промежуточные итоги

Надеюсь, благодаря первым двум статьям читатели смогли составить для себя впечатление о том, как работают механизмы масштабирования в современных версиях операционной системы Microsoft Windows. Давайте суммируем информацию.

Основная проблема при масштабировании интерфейса состоит, грубо говоря, в том, что для разных элементов используются разные единицы измерения, поэтому при изменении масштаба их размеры друг относительно друга меняются. Плюс, практически все приложения частично используют собственные ресурсы, а частично — ресурсы системы, это тоже вносит путаницу. В результате, в традиционном интерфейсе Windows, т. е. на старом добром десктопе, корректное масштабирование интерфейса приложений в значительной степени зависит от воли разработчиков приложений — насколько они учтут возможность изменения масштаба интерфейса при его разработке.

Это один из тех случаев, когда легкость взаимодействия и открытость традиционной платформы Windows, Win32, позволившие ей завоевать огромную популярность в мире, оборачиваются против нее. Платформой пользуется громадное количество разработчиков с самым разным уровнем знаний, многие из которых либо не знают о ее требованиях и особенностях, либо сознательно игнорируют их из-за лени или по другим причинам. При этом из-за открытости платформы и свободы программирования под нее у разработчика Windows, компании Microsoft, практически нет средств принуждения, позволяющих поддерживать стандарт качества ПО и корректную работу в разных условиях, остается действовать через рекомендации и побуждения, а их эффективность традиционно невысока. И при этом, что самое обидное, все ошибки в работе списывают именно на операционную систему.

Современные версии Windows предлагают два алгоритма масштабирования: старый, который управляет масштабом системных элементов, но оставляет масштабирование собственных ресурсов приложения на его усмотрение, и новый (впервые представленный в Windows Vista), который, благодаря виртуализации dpi, позволяет сохранить интерфейс приложения в полностью оригинальном виде при любом масштабе — пусть и ценой некоторого ухудшения качества изображения.

Приложение, умеющее корректно масштабировать интерфейс, должно сообщать об этом системе. Те приложения, которые не оптимизированы таким образом, до определенного масштаба будут работать в рамках старого алгоритма, а далее включится новый. Это связано с особенностями их работы: при небольшом увеличении масштаба разумнее использовать старый алгоритм масштабирования, т. к. сохраняется четкость шрифтов и мелких элементов, а ошибки построения интерфейса не так заметны. При большом масштабе лучше использовать новый алгоритм, т. к. сохраняется визуальное строение интерфейса, а размытость при большом масштабе не так бросается в глаза.

Тем не менее, масштабирование силами системы — это костыли, компенсирующие недоработки создателя приложения, но не позволяющие добиться оптимального результата. Так что корректность работы интерфейса при нестандартном масштабе в значительной степени зависит от разработчика приложения. И если он не уделил этому внимания, то пользователь столкнется либо с проблемами отображения интерфейса, либо с ухудшением его внешнего вида.

Учитывая масштаб проблемы, в Microsoft предприняли ряд серьезных шагов, направленных на то, чтобы в новом интерфейсе ситуация не повторилась. Возможности создателей приложений под новый интерфейс существенно ограничены необходимостью соблюдения жестких требований по оформлению приложения, в том числе и касающихся масштабирования. Поэтому, с одной стороны, новая платформа и новый интерфейс Windows 8 предлагают разработчикам четкие и простые правила, а также и новые мощные инструменты. Все это позволяет существенно облегчить им жизнь: с создателей приложений снимается существенная часть технической работы и решения различных прикладных проблем. В то же время новая платформа существенно ограничивает возможности разработчиков и ставит их в гораздо более жесткие рамки при решении стоящих перед ними задач. Кроме того, здесь компания Microsoft имеет серьезный инструмент контроля: приложения для нового интерфейса, не соответствующие требованиям, просто не будут допущены в магазин Windows Store. А установить приложения можно только из этого магазина.

В результате создается впечатление, что ситуация с масштабированием в Windows детально проработана и выверена. Однако это все теория. На практике же проблем, в том числе связанных с масштабируемостью интерфейсов системы и приложений, намного больше. И не всегда они связаны только с приложениями: иногда речь идет о некорректной работе системных функций либо специфического сочетания функций приложения, драйверов, компонентов и функций системы или других вещей. Да что там: несмотря на всю простоту и ясность, и у приложений под новый интерфейс также часто бывают проблемы (неработоспособность, зависания, вылеты), и хотя здесь они практически никогда не могут навредить системе (в отличие от десктопа), но все-таки говорить о стабильности работы пока рано. Уверен, что и в самой системе ошибки еще есть.

Тем не менее, в Microsoft проделали неплохую работу, создав вполне работоспособный механизм масштабирования, позволяющий работать на экранах с высокой плотностью пикселей даже в старых приложениях, не имеющих оптимизации под таковые.

В следующей, третьей части цикла статей мы как раз попробуем заняться практикой и посмотрим, как масштабирование интерфейсов приложений работает в реальной жизни, а также перейдем к глобальным выводам, т. е. поговорим о том, к чему нас приведет развитие схем масштабирования Windows, внедрение дисплеев с высокой плотностью пикселей и пр.

DPI-масштабирование в Windows 7

Вы можете не знать об этом, но весьма вероятно, что сегодня вы используете дисплей с высоким значением точек-на-дюйм, особенно если работаете на ноутбуке с диагональю монитора менее 15». Фактом является то, что если вы используете Windows XP или даже Windows Vista, то вы не можете нормально пользоваться всей областью экрана. Если вы посмотрите на экран сбоку или уменьшите разрешение, то поймете, о чем я говорю. В Windows 7 эта проблема решена.

Начиная с Windows 7 вам не придется волноваться по поводу этой проблемы. Основываясь на тех усовершенствованиях, которые уже были сделаны в отношении поддержки высоких значений DPI в Windows Vista, в Windows 7 разработчики намереваются сделать процесс изменения показателя DPI столь же интуитивным и «безопасным», как и процесс изменения разрешения. Чтобы сделать еще один шаг в этом направлении, Windows 7 при установке выберет наиболее подходящее для вас значение DPI.

Вы уже знаете, как смотрятся высокие значения DPI в Windows Vista, а вот как они выглядят в Windows 7? Для этого я специально сделал для вас следующую серию скриншотов.

96 DPI (100%)


120 DPI (125%)


144 DPI (150%)


192 DPI (200%)

Как вы можете видеть, поддержка высоких значений DPI в Windows 7 реализована замечательно. Такие общие проблемы, связанные с высоким DPI, как обрезанный текст, проблемы расположения окон, пикселизация растровых изображений и неправильные размеры шрифтов, были решены весьма удачно. Фактически, теперь эта система настолько развита, что вы можете даже изменять значение DPI всего лишь выйдя из системы и зайдя обратно, тогда как раньше вам для этого потребовалось бы перезагрузить компьютер. Лично я уверен, что когда 7 выйдет, я буду использовать значение 120 dpi (125%). А ваш выбор только за вами.

Источник: http://www.istartedsomething.com

Перевод: Dazila

Как изменить настройки DPI мыши в Windows 10

Как изменить настройки DPI мыши в Windows 10

People game на ПК. Некоторые могут предпочесть консоли, но другие предпочитают ПК. Если вы новичок в играх или играли какое-то время, но никогда не чувствовали, что ваша мышь работает правильно во время игр, вам, возможно, посоветовали изменить DPI для мыши

. DPI — это технический термин, который используется для описания чувствительности мыши.

Конечным пользователям легче понять, что такое чувствительность с точки зрения устройства с точечным щелчком, чем понять DPI. Тем не менее, эта небольшая настройка может помочь улучшить производительность мыши в игре. Нужно ли вам увеличить DPI или уменьшить его, зависит от вас.  

Настройки DPI мыши

Это полезно для геймеров, однако, если вы не играете, но не совсем довольны производительностью своей мыши, стоит обсудить настройки, которые мы здесь обсуждаем.

Откройте приложение «Настройки» и перейдите в группу «Устройства». настройки. Выберите вкладку Мышь. Справа или где-то внизу найдите параметр «Дополнительные параметры мыши» и щелкните его.

Откроется новое окно. Это старые настройки мыши, которые пришли из Windows 7 и 8 / 8.1.Microsoft еще не перенесла их в приложение «Настройки».

Здесь необходимо изменить две настройки. Первый — это слайдер под «Движением». Это в основном чувствительность мыши, и она определяет, насколько быстро и сколько экранного пространства покрывает курсор при перемещении реальной мыши.

Чтобы сделать все правильно, потребуется немного проб и ошибок, но эту настройку вы должны сначала изменить.

Как изменить настройки DPI мыши в Windows 10

Facebook

Twitter

Вконтакте

Одноклассники

Pinterest

Просмотров сегодня: 446

⚙КАК ИЗМЕНИТЬ DPI И МАСШТАБ ЭКРАНА WINDOWS 10

Визуальный аспект нашего рабочего стола и значки, отображаемые на нем, — это аспект персонализации и визуальной помощи, который мы имеем в повседневной задаче нахождения перед монитором. Знание того, что мы можем настроить наши экраны, важно для улучшения взаимодействия с пользователем и, следовательно, для его настройки в соответствии с нашими потребностями.

Каковы DPI

Операционные системы Windows по умолчанию имеют размер 96 DPI для отображения своих значков, но что такое DPI? DPI (точек на дюйм — точки на дюйм) — это единица измерения, которая часто используется для представления уровней размеров монитора. Это мера, используемая для определения разрешения, особенно в таких устройствах, как камеры или принтеры. Разрешение и PPP монитора уже определены, и если, например, у нас есть изображение с более высоким разрешением, чем у монитора, изображение будет выглядеть больше.

Параметры DPI

В этом случае Windows использует DPI, чтобы установить, как значки будут выглядеть на экране, используя следующие параметры:

  • Мониторинг до 116 DPI, Windows устанавливает разрешение 96 DPI, которое отображает текст и значки в небольшом размере (уровень шкалы 100%).
  • Мониторинг между 116 и 138 DPI. Windows устанавливает разрешение 120 DPI, которое отображает текст и значки в среднем размере (уровень шкалы 125%).
  • Мониторы с разрешением более 138 DPI устанавливают разрешение 144 DPI, что позволяет отображать текст и значки в большом размере (уровень шкалы 150%).

Масштаб DPI в операционных системах Windows варьируется от 96 до 480 DPI. Далее мы увидим, как установить новое значение DPI в Windows 10.

1. Как изменить DPI в Windows 10 с помощью панели управления

Шаг 1
Для этого процесса с помощью панели управления необходимо перейти по следующему маршруту:

  • Панель управления
  • Все элементы панели управления

Шаг 2
Там мы выбираем опцию «Настроить уровень масштаба», и появится следую

Изменение уровня масштабирования DPI для отображения в Windows 10

Как изменить уровень масштабирования DPI для отображения в Windows 10

Значение DPI экрана указывает, сколько точек на дюйм или пикселей на дюйм он поддерживает. По мере увеличения разрешения плотность отображения также увеличивается. Вот несколько методов, которые можно использовать для изменения DPI для дисплея в Windows 10.

РЕКОМЕНДУЕТСЯ: Нажмите здесь, чтобы исправить ошибки Windows и оптимизировать производительность системы

Сегодня многие ПК поставляются с дисплеями с очень высоким разрешением, даже если форма ПК фактор меньше, например, ультрабук или планшет.Или у вас может быть настольный монитор с разрешением 4K. При таких разрешениях Windows автоматически включает масштабирование DPI, поэтому все на вашем экране становится больше. DPI обозначает Точек на дюйм. Это физическое измерение количества пикселей в линейном дюйме дисплея. DPI определяет масштабный коэффициент, который Windows передает приложениям и оболочке для изменения размера их содержимого и элементов управления. Сегодня самые популярные коэффициенты масштабирования находятся в диапазоне 95-110 DPI.

Возможно, вы захотите отрегулировать значение DPI в Windows 10, если ОС не сможет правильно его определить или если текущее значение не соответствует вашим потребностям.Вы можете использовать следующие методы.

Чтобы изменить уровень масштабирования DPI для отображения в Windows 10,

  1. Открыть настройки. Windows 10 Creators Update Settings 15019
  2. Перейти к Настройки> Дисплей . Кроме того, вы можете щелкнуть правой кнопкой мыши на рабочем столе и выбрать Дисплей из контекстного меню. Windows 10 Display Settings Context Menu
  3. Справа выберите дисплей в верхней части экрана, для которого вы хотите изменить DPI, если к вашему компьютеру подключено более одного дисплея.
  4. Менее Измените размер текста, приложений и других элементов , выберите значение масштабирования DPI, которое вы хотите установить для своего дисплея.Change DPI Scaling Level Windows 10

Вы сделали!

Кроме того, вы можете установить пользовательский уровень DPI для дисплея. Вот как это можно сделать.

Задать пользовательское масштабирование дисплея в Windows 10

  1. Открыть настройки. Windows 10 Creators Update Settings 15019
  2. Зайдите в Настройки — Дисплей.
  3. Слева щелкните ссылку Расширенные настройки масштабирования в разделе «Масштаб и макет». Windows 10 Display Advanced Scaling Settings Link
  4. Откроется страница Пользовательское масштабирование . Укажите новое значение для процента масштабирования от 100 до 500.Windows 10 Custom Display Scaling Level
  5. Вам будет предложено выйти, чтобы применить изменения. Windows 10 Apply Custom Display Scaling Level

После того, как вы настроите опцию пользовательского масштаба, все ваши дисплеи будут настроены на указанный вами нестандартный размер. Это изменит размер текста, окна приложения и кнопки.

Примечание. Чтобы отменить пользовательский уровень масштабирования DPI, откройте Настройки> Дисплей и щелкните . Отключите пользовательское масштабирование и выйдите из ссылки в разделе Масштаб и макет с правой стороны.

Windows 10 Disable Custom Display Scaling Level

Наконец, вы можете установить значение масштабирования DPI прямо в реестре.Вот как.

Изменение DPI в реестре

  1. Откройте приложение Registry Editor.
  2. Перейдите по следующему ключу реестра: HKEY_CURRENT_USER \ Панель управления \ Рабочий стол . Посмотрите, как перейти к ключу реестра одним щелчком мыши.
  3. Справа измените или создайте новое 32-битное значение DWORD LogPixels . Примечание. Даже если вы используете 64-разрядную версию Windows, вы все равно должны создать 32-разрядное значение DWORD. Windows 10 Change DPI In Registry 1
  4. Выберите одно из следующих значений в Десятичное число :
    • 96 = по умолчанию 100%
    • 120 = среднее 125%
    • 144 = больше 150%
    • 192 = очень большое 200%
    • 240 = пользовательский 250%
    • 288 = пользовательский 300%
    • 384 = пользовательский 400%
    • 480 = пользовательский 500%
  5. Теперь создайте и измените новое 32-разрядное значение DWORD Win8DpiScaling .Windows 10 Change DPI In Registry 2
  6. Оставьте данные значения равными 0, если для параметра LogPixels установлено значение 96 .
  7. В противном случае установите значение 1.
  8. Чтобы изменения, внесенные настройкой реестра, вступили в силу, вам необходимо выйти и войти в свою учетную запись пользователя. Кроме того, вы можете перезагрузить Windows 10.

Все готово.

Чтобы отменить внесенные изменения и восстановить уровень масштабирования DPI по умолчанию, вы также можете загрузить следующую настройку реестра (.reg).

Скачать Registry Tweak

Вам необходимо выйти и войти в свою учетную запись пользователя после ее применения.

Вот и все.

Статьи интереса:

РЕКОМЕНДУЕТСЯ: Нажмите здесь, чтобы исправить ошибки Windows и оптимизировать производительность системы

Вы здесь: Главная »Windows 10» Изменить уровень масштабирования DPI для отображения в Windows 10

Поддержите нас

Winaero очень полагается на твоя поддержка. Вы можете помочь сайту продолжать приносить вам интересный и полезный контент и программное обеспечение, используя следующие опции:

Биткойн: 18amKj99FCPUfnnpqZ6XCG2h4TGeUTCeY7

Связаться с нами

Для вашего удобства вы можете подписаться на Winaero на следующих веб-сайтах и ​​сервисах.

Кроме того, вы можете поделиться этим постом.

Эта запись была опубликована в Windows 10 и помечена параметрами отображения Windows 10, масштабированием Windows 10 DPI — Сергей Ткаченко.

О Сергее Ткаченко

Сергей Ткаченко — российский разработчик программного обеспечения, основавший Winaero еще в 2011 году. В этом блоге Сергей пишет обо всем, что связано с Microsoft, Windows и популярным программным обеспечением. Следуйте за ним в Telegram, Twitter и YouTube.

Как изменить уровень масштабирования DPI для дисплеев в Windows 10. — База знаний

В этой статье показано, как изменить уровень масштабирования DPI для дисплеев в Windows 10.

точек на дюйм (DPI) — это физическое измерение количества отдельных точек, которые можно поместить в линию в пределах 1 дюйма. Настройка DPI контролирует размер текста, приложений и значков.

При более низком значении DPI они будут выглядеть меньше, а при более высоких значениях они будут больше.По умолчанию Windows имеет настройку 96 DPI.

ИЗМЕНИТЬ УРОВЕНЬ МАСШТАБИРОВАНИЯ ТОЧКИ ДИСПЛЕЯ НАСТРОЙКИ РЕГИСТРАЦИИ

  1. Откройте Редактор реестра , нажав Комбинация клавиш Windows + R , введите regedit и нажмите Enter.
  2. Если появится запрос UAC , нажмите Да , чтобы продолжить.
  3. Перейти к HKEY_CURRENT_USER \ Панель управления \ Рабочий стол
  4. На правой панели найдите Win8DpiScaling и установите значение 1 и закройте редактор реестра.
  5. Перезагрузите компьютер.

ИЗМЕНИТЬ УРОВЕНЬ масштабирования DPI для дисплеев в настройках APP

  1. Откройте Редактор реестра и внесите изменения, как описано выше.
  2. Откройте Настройки и нажмите Система
  3. Или щелкните правой кнопкой мыши пустую область на рабочем столе и выберите Показать .
  4. В системе, на экране настроек нажмите Дисплей с левой стороны.
  5. Менее Измените размер текста, приложений и других элементов: 100% (рекомендуется) , переместите ползунок влево или вправо до значения DPI, которое вы хотите установить для этого дисплея.

ИЗМЕНИТЬ УРОВЕНЬ масштабирования DPI для дисплеев на панели управления

  • Откройте Редактор реестра и внесите изменения, как описано выше в первом шаге.
  • Откройте панель управления (представление значков) и выберите Дисплей .
  • Менее Изменить размер элементов , нажмите на и установить пользовательский уровень масштабирования
  • Перетащите линейку влево или вправо до требуемого процента масштабирования.
  • В качестве альтернативы выберите нужный масштаб в раскрывающемся меню.
  • Нажмите . Примените , а затем .

,

Как изменить уровень масштабирования DPI для отображения в Windows 10

РЕКОМЕНДУЕТСЯ: Нажмите здесь, чтобы исправить ошибки Windows и оптимизировать производительность системы

Число точек на дюйм (DPI) — это физическая мера количества пикселей в линейном дюйме экрана. DPI — это функция разрешения и размера экрана; более высокое разрешение или меньший размер дают более высокое значение DPI, а более низкое разрешение или больший размер дает более низкое значение DPI. Когда экран имеет более высокое значение DPI, пиксели становятся меньше и ближе друг к другу, в результате чего пользовательский интерфейс и другой отображаемый контент выглядят меньше ожидаемого.

Windows гарантирует, что все, что появляется на экране, имеет приемлемый и постоянный размер, требуя, чтобы приложения (включая оболочку рабочего стола Windows) уменьшали свое содержимое в масштабном масштабе. Это число зависит от показа DPI и других факторов, влияющих на восприятие дисплея пользователями. Почти все современные настольные и большинство ноутбуков имеют разрешение от 95 до 110 точек на дюйм; эти устройства не требуют масштабирования, и Windows устанавливает коэффициент масштабирования 100%. Тем не менее, есть ряд новых устройств, особенно на рынке ноутбуков и планшетов высокого класса, которые имеют дисплей более 200 DPI.Для этих устройств Windows устанавливает более высокие коэффициенты масштабирования для обеспечения оптимального комфорта пользователя.

При изменении уровня масштаба DPI для ваших дисплеев текст, приложения и другие элементы изменяются в размере, увеличиваясь или уменьшаясь. При более высоком уровне DPI все выглядит больше, а при более низком уровне DPI все выглядит меньше.

Чтобы изменить параметры масштабирования для типичных настольных приложений

Если вы используете типичное настольное приложение, которое не отображается правильно на дисплее с высокой плотностью пикселей, вы можете предпринять следующие шаги для решения проблем масштабирования для улучшения внешнего вида приложения:

август 2020 года обновление:

Теперь мы рекомендуем использовать этот инструмент для вашей ошибки.Кроме того, этот инструмент исправляет распространенные компьютерные ошибки, защищает вас от потери файлов, вредоносных программ, сбоев оборудования и оптимизирует ваш компьютер для максимальной производительности. Вы можете быстро исправить проблемы с вашим ПК и предотвратить появление других программ с помощью этого программного обеспечения:

  • Шаг 1: Загрузите инструмент для ремонта и оптимизации ПК (Windows 10, 8, 7, XP, Vista — Microsoft Gold Certified).
  • Шаг 2. Нажмите « Start Scan », чтобы найти проблемы реестра Windows, которые могут вызывать проблемы с ПК.
  • Шаг 3: Нажмите « Repair All », чтобы исправить все проблемы.
  • Откройте приложение, которое вы хотите восстановить.
  • Щелкните правой кнопкой мыши приложение на панели задач.
  • Щелкните правой кнопкой мыши имя приложения и выберите «Свойства».
  • Откройте вкладку «Совместимость».
  • В разделе «Настройки» нажмите кнопку «Изменить параметры высокого разрешения».
  • Совет. Чтобы применить настройки ко всем учетным записям, настроенным на вашем компьютере, нажмите кнопку «Изменить параметры для всех пользователей», а затем нажмите кнопку «Изменить параметры высокого разрешения».
  • В разделе «Программа DPI» выберите параметр «Использовать этот параметр для решения проблем масштабирования DPI» вместо параметра «Настройки».
  • Используйте доступное раскрывающееся меню, чтобы указать, должно ли приложение использовать параметры DPI для отображения при входе в Windows 10 или при открытии приложения. (Обычно вы хотите использовать опцию по умолчанию).
  • Нажмите ОК.
  • Нажмите Применить.
  • Нажмите ОК.

После выполнения этих шагов перезапустите приложение, чтобы использовать изменения.Если в будущем приложение станет размытым, Windows 10 будет использовать указанные вами настройки, чтобы приложение выглядело корректно при следующем открытии.

Изменение уровня шкалы DPI для отображения параметров реестра

  • Откройте редактор реестра, нажав Windows + R, введите regedit и нажмите Enter.
  • По запросу UAC нажмите Да, чтобы продолжить.
  • Перейдите в HKEY_CURRENT_USER \ Панель управления
  • На правой панели найдите масштабирование Win8Dpi, установите значение 1 и закройте редактор реестра.
  • Перезагрузите компьютер.

Пусть Windows поможет вам

Иногда некоторые настольные приложения могут выглядеть размытыми, когда вы изменяете масштаб и настройки дисплея и настраиваете DPI. Если вы используете Центр обновления Windows 10 апреля 2018 или более поздней версии, система может автоматически попытаться решить эти проблемы, если обнаружит такую. Вы можете найти эту опцию, выполнив поиск расширенных настроек масштабирования в приложении «Настройки Windows 10».

У вас есть два важных варианта в этом окне.Во-первых, убедитесь, что включена опция, позволяющая Windows пытаться восстановить приложения, чтобы они не зашифровывались, чтобы Windows активно пыталась решить проблемы. Второе — это возможность добавить пользовательский номер шкалы, который может использовать Windows. В этом не должно быть необходимости, если вы не работаете с сильно настроенными экранами, для работы которых необходимо настраиваемое масштабирование, но это то, что вам нужно.

https://support.microsoft.com/en-ph/help/3025083/windows-scaling-issues-for-high-dpi-devices

РЕКОМЕНДУЕТСЯ: Нажмите здесь, чтобы устранить ошибки Windows и оптимизировать производительность системы

CCNA, веб-разработчик, ПК для устранения неполадок

Я компьютерный энтузиаст и практикующий ИТ-специалист.У меня за плечами многолетний опыт работы в области компьютерного программирования, устранения неисправностей и ремонта оборудования. Я специализируюсь на веб-разработке и дизайне баз данных. У меня также есть сертификат CCNA для проектирования сетей и устранения неполадок.

,

PROCESS_DPI_AWARENESS (shellscalingapi.h) — приложения Win32

  • 6 минут, чтобы прочитать

В этой статье

Идентифицирует значения осведомленности о точках на дюйм (dpi). Осведомленность о DPI показывает, сколько работы по масштабированию выполняет приложение для DPI по сравнению с тем, сколько сделано системой.

Пользователи имеют возможность устанавливать масштабный коэффициент DPI на своих дисплеях независимо друг от друга. Некоторые устаревшие приложения не могут настроить масштабирование для нескольких настроек DPI. Для того чтобы пользователи могли использовать эти приложения без отображения содержимого слишком большим или маленьким на дисплеях, Windows может применить виртуализацию DPI к приложению, в результате чего система автоматически масштабирует его в соответствии с DPI текущего дисплея. Значение PROCESS_DPI_AWARENESS указывает, какой уровень масштабирования приложение обрабатывает самостоятельно и в каком объеме обеспечивает Windows.Помните, что масштабируемые системой приложения могут выглядеть размытыми и будут считывать виртуализированные данные о мониторе для обеспечения совместимости.

Синтаксис

  typedef enum PROCESS_DPI_AWARENESS {
  PROCESS_DPI_UNAWARE,
  PROCESS_SYSTEM_DPI_AWARE,
  PROCESS_PER_MONITOR_DPI_AWARE
};
  

Константы

PROCESS_DPI_UNAWARE DPI не знают. Это приложение не масштабируется для изменений DPI и всегда имеет масштабный коэффициент 100% (96 DPI).Он будет автоматически масштабироваться системой при любых других настройках DPI.
PROCESS_SYSTEM_DPI_AWARE Система DPI поддерживает. Это приложение не масштабируется для изменения DPI. Он будет запрашивать DPI один раз и использовать это значение в течение всего времени жизни приложения. Если DPI изменяется, приложение не будет приспосабливаться к новому значению DPI. Он будет автоматически увеличен или уменьшен системой при изменении DPI от системного значения.
PROCESS_PER_MONITOR_DPI_AWARE для каждого монитора с учетом DPI.Это приложение проверяет DPI при его создании и корректирует масштабный коэффициент при каждом изменении DPI. Эти приложения не масштабируются системой автоматически.

Замечания

Важно

В предыдущих версиях Windows требовалось установить уровень DPI для всего приложения. Теперь осведомленность о DPI связана с отдельными потоками, процессами или окнами. Это означает, что осведомленность о DPI может изменяться во время работы приложения, и что несколько окон могут иметь свои собственные независимые значения осведомленности о DPI.Посмотрите DPI_AWARENESS для получения дополнительной информации о том, как в настоящее время работает осведомленность о DPI. Приведенные ниже рекомендации по настройке осведомленности о DPI в манифесте приложения по-прежнему поддерживаются, но в настоящее время рекомендуется использовать DPI_AWARENESS_CONTEXT .

Осведомленность DPI для приложения должна быть установлена ​​через манифест приложения, чтобы он определялся до того, как будут предприняты какие-либо действия, которые зависят от DPI системы. В качестве альтернативы вы можете установить осведомленность о DPI с помощью SetProcessDpiAwareness, но если вы это сделаете, вам нужно обязательно установить его, прежде чем предпринимать какие-либо действия, зависящие от системного DPI.После того, как вы установили DPI для процесса, его нельзя изменить.
Совет

Если ваше приложение PROCESS_DPI_UNAWARE , нет необходимости устанавливать какое-либо значение в манифесте приложения. PROCESS_DPI_UNAWARE — это значение по умолчанию для приложений, если не указано другое значение.

PROCESS_DPI_UNAWARE и PROCESS_SYSTEM_DPI_AWARE Приложения не должны отвечать на WM_DPICHANGED и не должны обрабатывать изменения в DPI. Система автоматически масштабирует эти типы приложений вверх или вниз по мере необходимости при изменении DPI. PROCESS_PER_MONITOR_DPI_AWARE Приложения отвечают за распознавание и реагирование на изменения в DPI, сообщенные WM_DPICHANGED . Они не будут масштабироваться системой. Если приложение этого типа не изменяет размер окна и его содержимого, оно будет расти или уменьшаться при изменении относительного значения DPI при перемещении окна с одного экрана на другой с другим параметром DPI.
Совет

В предыдущих версиях Windows не было настройки для PROCESS_PER_MONITOR_DPI_AWARE .Приложения были либо DPI не знают, либо DPI знают. В устаревших приложениях, которые до Windows 8.1 классифицировались как DPI-совместимые, считается, что в текущих версиях Windows параметр PROCESS_DPI_AWARENESS равен PROCESS_SYSTEM_DPI_AWARE .

Чтобы понять важность и влияние различных значений осведомленности о DPI, рассмотрим пользователя, у которого есть три дисплея: A, B и C. Дисплей A установлен на коэффициент масштабирования 100% (96 DPI), дисплей B настроен на масштабирование 200%. коэффициент (192 DPI), а дисплей C установлен на коэффициент масштабирования 300% (288 DPI).DPI системы установлен на 200%.

В приложении PROCESS_DPI_UNAWARE всегда будет использоваться коэффициент масштабирования 100% (96 DPI). В этом сценарии PROCESS_DPI_UNAWARE окно создается с размером 500 на 500. На дисплее A, он будет отображаться изначально без масштабирования. На дисплеях B и C система будет автоматически увеличена в 2 и 3 раза соответственно. Это связано с тем, что PROCESS_DPI_UNAWARE всегда принимает значение DPI 96, и система учитывает это.Если приложение запрашивает размер окна, оно всегда получит значение 500 на 500 независимо от того, на каком экране оно находится. Если это приложение будет запрашивать DPI любого из трех мониторов, оно получит 96.

Теперь рассмотрим приложение PROCESS_SYSTEM_DPI_AWARE . Помните, что в данном примере DPI системы составляет 200% или 192 DPI. Это означает, что любые окна, созданные этим приложением, будут отображаться в исходном виде на экране B. Если окно переместится на отображение A, оно будет автоматически уменьшено в 2 раза.Это происходит потому, что приложение PROCESS_SYSTEM_DPI_AWARE в этом сценарии предполагает, что DPI всегда будет 192. При запуске оно запрашивает DPI, а затем никогда не изменяет его. Система учитывает это, автоматически уменьшая масштаб при перемещении к дисплею A. Аналогично, если окно переходит к дисплею C, система автоматически масштабируется в 1,5 раза. Если приложение запрашивает размер окна, оно всегда получает одно и то же значение, подобное PROCESS_DPI_UNAWARE . Если он запрашивает DPI любого из трех мониторов, он получит 192.

В отличие от других значений осведомленности, PROCESS_PER_MONITOR_DPI_AWARE должен адаптироваться к отображению, на котором он включен. Это означает, что он всегда отображается изначально и никогда не масштабируется системой. Ответственность за настройку масштабного коэффициента при получении сообщения WM_DPICHANGED лежит на приложении. Часть этого сообщения включает предложенный прямоугольник для окна. Это предложение — текущее окно масштабируется от старого значения DPI до нового значения DPI. Например, окно, которое имеет размер 500 на 500 на дисплее A и перемещено на дисплей B, получит предложенный прямоугольник окна, который равен 1000 на 1000.Если это же окно переместить на отображение C, то рекомендуемый прямоугольник окна, присоединенный к WM_DPICHANGED , будет 1500 на 1500. Кроме того, когда это приложение запрашивает размер окна, оно всегда получает фактическое собственное значение. Аналогичным образом, если он запрашивает DPI любого из трех мониторов, он получит 96, 192 и 288 соответственно.

Из-за виртуализации DPI, если одно приложение запрашивает у другого с другим уровнем осведомленности информацию, зависящую от DPI, система автоматически масштабирует значения в соответствии с уровнем осведомленности вызывающего абонента.Одним из примеров этого является, если вы вызываете GetWindowRect и передаете окно, созданное другим приложением. Используя ситуацию, описанную выше, предположим, что приложение PROCESS_DPI_UNAWARE создало окно 500 на 500 на дисплее C. Если вы запрашиваете прямоугольник окна из другого приложения, размер прямоугольника будет изменяться в зависимости от уровня DPI вашего приложения. ,

PROCESS_DPI_UNAWARE Вы получите прямоугольник 500 на 500, потому что система примет значение DPI 96 и автоматически уменьшит фактический прямоугольник в 3 раза.
PROCESS_SYSTEM_DPI_AWARE Вы получите прямоугольник 1000 на 1000, потому что система примет значение DPI 192 и автоматически уменьшит фактический прямоугольник с коэффициентом 3/2.
PROCESS_PER_MONITOR_DPI_AWARE Вы получите прямоугольник 1500 на 1500, потому что система будет использовать фактическое значение DPI дисплея и не будет делать никакого закулисного масштабирования.
Примеры

Этот фрагмент демонстрирует, как установить значение PROCESS_SYSTEM_DPI_AWARE в манифесте приложения.

   true 
  

Этот фрагмент демонстрирует, как установить значение PROCESS_PER_MONITOR_DPI_AWARE в манифесте приложения.

   true / PM 
  

Требования

Минимально поддерживаемый клиент Windows 8.1 [только для настольных приложений]
Минимально поддерживаемый сервер Windows Server 2012 R2 [только для настольных ПК]
Заголовок shellscalingapi.ч

См. Также

DPI_AWARENESS

,

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *