Параметры высокого dpi windows 8

Обновлено: 04.07.2024

Я в основном мирился с отсутствием высокого DPI на 13,3-дюймовых экранах ноутбуков, но теперь, когда я работаю с 32-дюймовым 4K-дисплеем на рабочем столе, я больше не могу использовать Chrome без настоящей поддержки высокого DPI. К сожалению, старые уловки больше не будут работать, но не волнуйтесь, есть решение, которое работает.

контекст

Для этого урока я использовал:

Решение для Chrome 37.0.2062.94+, август 2014

Когда-то в конце августа пользователь начал сообщать о новых изменениях, а пользователи сообщали, что изменения в реестре больше не работают. Комментатор Ubergizmo «Марк» был первым, кто предложил решение этой теме (спасибо!), Которое я собираюсь вставить ниже. Он говорит:

Я использую стабильные версии Chrome. Вчера Chrome обновился до «37.0.2062.94 м», и с тех пор у меня возникли проблемы с масштабированием. Изменение настроек реестра не работает (Chrome сбрасывает их). То, что _did_ работа для меня было следующим:

* Щелкните правой кнопкой мыши ярлык Chrome на панели задач
* Нажмите правой кнопкой мыши на опцию «Google Chrome»
* Выберите «Свойства» из меню
* В поле ввода Target указывается путь к Chrome. Я добавил следующее к этому: / high-dpi-support = 1 / force-device-scale-factor = 1
* В моей ситуации поле Target содержит следующую строку:

«C: Program Files (x86) Google Chrome Application chrome.exe» / high-dpi-support = 1 / force-device-scale-factor = 1

Решение для Chrome 37, апрель 2014

Автор поста любезно добавил готовый к работе реестр, расположенный здесь (ссылка на скачивание). Как обычно, вам необходимо закрыть все окна и процессы Chrome, а затем перезапустить браузер.

Решение для Chrome 35.x

Я отправился туда и нашел обновленную информацию, включая исправление, которое действительно работает в моей системе и которое я ожидаю, что оно будет работать в большинстве систем.

Самая последняя версия Chrome включает поддержку hiDPI в зависимости от значения реестра Windows. Вот почему старые трюки больше не работают.

Я знаю, что редактировать файлы реестра очень сложно, но, к счастью, некоторые удобные небольшие файлы уже доступны на сайте Chromium. Справедливое предупреждение: это не то, что Google официально поддерживает, и вы запускаете команды реестра из неизвестного источника на свой страх и риск.

Спасибо за Евгения Жирара за загружать их в Chrome Google Groupsи Алексею Сороколетову за исправление проблем с кодировкой оригинальных скриптов.

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

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

Даже если вы не включите встроенные в Chrome параметры hiDPI, запуск Chrome с «Отключить масштабирование экрана при настройках с высоким DPI» поможет сделать текст HTML не размытым, хотя он может выглядеть очень маленьким.

Это не «решает» проблему hiDPI, но предотвращает увеличение, и вы можете установить масштаб по умолчанию на 130% (или что угодно), чтобы компенсировать небольшой размер. Поскольку масштабирование выполняется для векторного элемента, на экране с высоким разрешением все будет выглядеть аккуратно.

  1. Найдите ярлык Chrome на своем компьютере или создайте его.
  2. Откройте его свойства
  3. Перейти на вкладку совместимости
  4. Установите флажок «Отключить масштабирование дисплея при настройках с высоким DPI»
  5. Нажмите OK или Применить.
  6. Закройте и перезапустите Chrome
  7. Необязательный
    1. Зайдите в настройки Chrome
    2. Поиск «зум»
    3. Установите масштаб страницы на 150% (или что-то еще) по умолчанию

    Ожидающие проблемы в режиме HiDPI

    Я рад сообщить, что описанные выше шаги помогли мне настроить Chrome с моим дисплеем hiDPI. Однако я заметил, что окно Chrome теперь иногда отказывается перемещать и / или изменять размер в течение некоторого периода времени. Об этом было сообщено разработчикам в отчете об ошибке, Если вы видите сумасшедший интервал между шрифтами, это может быть связано с этой известной ошибкой,

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

    Наконец, даже после того, как это заработало, я заметил, что поддержка hiDPI была еще лучше как в IE, так и в Firefoxтак что вы все еще можете прибегнуть к этим.

    Прошлые хаки

    В прошлом вы могли перейти к настройкам Chrome и включить hiDPI оттуда. Вот шаги, которые теперь больше не работают:

    1. В Chrome перейдите к «chrome: // flags»
    2. Поиск «Поддержка HiDPI» в настройках
    3. Переведите его со значения «По умолчанию» на «Включено»
    4. Перезапустите Chrome

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

    -ВЫСОКИЕ точки на дюйме-поддержка = 1
    -force-устройство масштабно-фактор = 2

    Есть два дефиса, и, к сожалению, ни одна из комбинаций не работает с последними сборками.

    Вывод

    Следуйте этим шагам на свой страх и риск, У меня это работало нормально, но у меня не было возможности протестировать их на других системах. Я надеюсь, что это поможет вам насладиться вашим новым дисплеем HiDPI. Если ничего не помогает, отключите масштабирование приложения, как показано в «Дополнительные заметки», и масштабируйте внутреннюю часть веб-страницы, установив значение масштабирования по умолчанию, превышающее 100%. Без надлежащей поддержки высокого разрешения это самое близкое, что вы получите к нему.

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

    В этом разделе представлены основные понятия DPI и масштабирования экрана.

    В этом разделе:

    Основные понятия

    Что такое DPI

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

    что такое коэффициенты масштабирования Windows

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

    Почему это имеет значение для пользователей

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

    Почему это важно для предприятий

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

    Новые возможности DPI

    Отображение изменений рынка оборудования

    с появлением дисплеев с высоким разрешением, Windows устройства будут последовательно использовать dpi, которые намного выше, чем ранее. Вместо ноутбуков с 13 и 1366x768 разрешением вы увидите разрешение экрана до 3200x1800 в 13. чтобы эти портативные компьютеры можно было использовать, Windows масштабирование должно перейти с 100% (13,3 "1366x768) на 125% (13,3" 1600), 150% (10,6 "1920 x 1080) или 200% (13,3" 2560x1440). до Windows 8 в соответствии с отображением автоматически устанавливаются только 100%, 125% и 150%. в Windows 8 добавлена поддержка 200%.

    Windows 8.1 изменения

    Windows 8 включает ряд изменений функций, характерных для высокого dpi, как показано в таблице 1 Windows 8.1 изменения DPI:

    DPI (Dots Per Inch) - это соотношение между размером в пикселях и фактическим размером дисплея. Здесь точка является эквивалентом пикселя в терминологии печати. Приложения могут либо использовать размеры в пикселях, либо учитывать фактический размер дисплея. Во втором случае размеры указаны в пунктах.

    Большинство современных операционных систем используют значение DPI по умолчанию, установленное в 96, и позволяют вручную изменить его на более высокое значение. Физический DPI можно определить по отображению через протокол EDID по данным физического размера и фактического разрешения. Но физический DPI не используется системой автоматически, поэтому, если вы подключите видеовыход к монитору с другим размером, то разрешение экрана и визуальный размер элементов управления не изменятся автоматически.

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

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

    Свойства Lazarus, ссылающиеся на DPI

    • Graphics.ScreenInfo.PixelsPerInchX
    • Graphics.ScreenInfo.PixelsPerInchY
    • Forms.Screen.PixelsPerInch
    • Forms.TForm.DesignTimePPI (См.: Автоматическая настройка DPI)

    Пиксели и точки

    Например, 300 DPI означает, что на дюйм приходится 300 пикселей (или точек). Есть 72 точки на дюйм, так что:

    300 пикселей ↔ 1 дюйм

    300/72 пикселей ↔ 1 точка

    4,16 пикселей ↔ 1 точка

    Теперь с 96 DPI:

    96 пикселей ↔ 1 дюйм

    1,33 пикселя ↔ 1 дюйм

    Теперь с 144 DPI:

    144 пикселя ↔ 1 дюйм

    2 пикселя ↔ 1 точка

    Настройка High DPI

    Windows

    В Windows 95 и более поздних версиях можно изменить соотношение DPI, чтобы увеличить размер элементов. Высокий DPI означает любую пользовательскую настройку DPI с более чем 96 DPI (настройка по умолчанию) (ссылка).

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

    Windows Vista и Windows 7

    В Windows 7 перейдите в «Панель управления > Все элементы управления > Экран».

    Выберите Мелкий 100% (по умолчанию), Средний 125% или Крупный 150%. Если вы выбираете 100% (96 DPI), это значение по умолчанию для Windows DPI (High DPI не используется по умолчанию).

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

    Если вы выберете 150% (144 DPI), опция «Использовать масштабирование DPI в стиле Windows XP» будет отключена (виртуализация DPI включена), и приложения, которые вы запускаете с этим параметром, должны иметь High DPI Awareness, чтобы предотвратить масштабирование системы, которое приведет к размытию изображения.

    Вы также можете установить свои собственные настройки DPI с помощью параметра "Set custom text size (DPI)"(Установить собственный размер текста (DPI)) и включить/отключить виртуализацию DPI.

    Windows 8 Metro приложения

    Для Windows 8 Metro приложения читайте это.

    Windows 10

    В Windows 10 «Панель управления > Оформление и персонализация > Экран» имеет больше параметров. У вас могут быть разные размеры шрифта для каждого элемента: заголовок, меню, диалоговое окно и т.д. Убедитесь, что вы протестировали дважды для проверки, все ли работает под разными размерами.

    Теперь [все] основана на размере шрифта, а не DPI. Параметр DPI [использовать] не рекомендуется, но все же [он] есть. Таким образом, вместо изменения размера всех элементов на рабочем столе, это изменит только размер шрифта (и, конечно, все остальное будет изменено для соответствия).

    Помните, что под Windows 10 есть универсальные приложения (WinRT) и классические настольные приложения (Win32). Мы говорим здесь о настольных приложениях.

    Linux

    В Linux настройка DPI является более сложной и зависит от используемого программного обеспечения и его версии.

    Вы можете узнать текущее разрешение монитора с помощью команды:

    Вы можете изменить DPI на новое значение командой:

    Чтобы сохранить настройки после перезагрузки, вам нужно добавить команду как скрипт в /etc/X11/Xsession.d/77set_dpi.

    Примеры

    Фиксированные размеры шрифта (не HighDPI)

    Вот форма с неопределенным размером шрифта (установленным в ноль, который является значением по умолчанию). Он был разработан с разрешением 96 точек на дюйм (100%) и выглядит следующим образом:

    Теперь при 120 DPI (125%) он становится:

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

    Чтобы избежать этого, вы должны установить НЕнулевое значение размера шрифта. Обратите внимание, что Font.Size выражается в точках, а Font.Height выражается в пикселях. Фактически, сохраняется только значение Font.Height, а Font.Size изменяется в соответствии с текущим значением DPI. Поэтому, если мы установим размер шрифта, он будет зафиксирован до определенного размера в пикселях.

    Если мы попробуем еще раз с фиксированным размером шрифта 9 точек, то при 96 DPI (100%) мы получим это:

    Теперь, если та же самая программа работает с разрешением 120 точек на дюйм (125%), она становится:

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

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

    Приложения с поддержкой DPI (для Vista +)

    CPickSniff это приложение для захвата цвета экрана. Мы будем использовать его в качестве примера, чтобы увидеть, как работает High DPI в Windows.


    DPI по умолчанию

    Это приложение запущено на 96 DPI (100%). Это режим по умолчанию, когда масштабирование не требуется.

    cpicksniff defaultdpi.jpg


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

    Это то же самое приложение, запущенное под 144 DPI (150%) без манифеста, поэтому Windows масштабирует его как растровое изображение. В результате получается размытое изображение.

    cpicksniff blured.jpg


    С манифестом

    Запущено под 144 DPI (150%). На этот раз приложение содержит манифест, но приложение не содержит кода для обработки масштабирования. Элементы не масштабируются, тогда как шрифты масштабируются (Windows делает это автоматически), поэтому текст обрезается.

    cpicksniff nohighdpi.jpg

    Наконец, с манифестом и масштабированием LCL, приложение находится в высоком разрешении(High DPI).

    cpicksniff highdpi.jpg

    High DPI в Lazarus 1.8 и выше

    Для обработки High DPI с использованием новых функций в 1.8, выполните следующие действия:

    • На Windows: включите поддержку DPI в разделе Project Options(Параметры проекта) -> Application (Приложение). Определитесь, хотите ли вы поддерживать DPI каждого монитора или нет.
    • Включите масштабирование LCL для поддержки DPI вашей программы в Project Options(Параметры проекта) -> Application(Приложение) -> Use LCL scaling (Hi-DPI) (Использовать масштабирование LCL (Hi-DPI)).
    • Установите TForm.Scaled=True для всех ваших форм (это будет значение по умолчанию). Все WYSIWYG-эффекты должны работать автоматически. Также дизайнер соответственно масштабирует формы.
    • Если вы создаете элементы управления во время выполнения, отмасштабируйте все координаты, размеры и т.д., которые должны учитывать DPI, с помощью TControl.Scale96ToForm() или ScaleDesignToForm() (в зависимости от выбранного вами PPI по умолчанию) или подготовьте свой контейнер (например, панель с элементами управления) как это было с 96 PPI, а затем вызовите TControl.AutoAdjustLayout(lapAutoAdjustForDPI, 96, ParentFormOfTheContainer.PixelsPerInch, 0, 0);
    • Если некоторые из ваших компонентов не масштабируют свои внутренние размеры, переопределите DoAutoAdjustLayout и отмасштабируйте размеры (см. TToolBar) - это должно быть сделано для всех элементов управления. Если элемент управления LCL пропускает DoAutoAdjustLayout, сообщите об этом в mantis(багтрекер) и предоставьте исправление, если можете.

    Lazarus IDE high DPI

    Среда Lazarus IDE поддерживает DPI.

    High DPI в старых версиях Lazarus

    [Поддержка High DPI работает] не так хорошо, как в 1.8, но [она все-таки] работает, вызывайте при каждом событии OnCreate формы:

    Как настроить масштабирование в Windows

    Что это такое

    Масштабирование — это изменение размеров элементов с сохранением пропорций
    и исходного разрешения дисплея. В актуальных версиях Windows (10, 8.1 и 7) предусмотрена настройка шкалы масштаба в процентах. Нажмите правой кнопкой мыши на рабочем столе
    и выберите «Параметры экрана». Откроется вкладка «Дисплей» системных настроек. Прокрутите вниз, пока не увидите опцию «Масштаб и разметка».


    По умолчанию доступна настройка масштаба с шагом в 25 % (100, 125, 150, 175 % и далее). После изменения, возможно, придется перезапустить некоторые программы, а в особо запущенных случаях — даже перезагрузить систему. Приложение предупреждает об этом
    в подсказке.


    Если у вас Windows 7 или 8.1, кликните правой кнопкой мыши на свободном месте рабочего стола и выберите «Разрешение экрана». В появившемся окне жмите опцию «Изменение размеров текста и других элементов». Появятся аналогичные варианты масштабирования.


    В каких случаях понадобится

    Функция масштабирования стала актуальной в последнее десятилетие — с появлением 2K-
    и 4K-дисплеев. У монитора есть характеристика PPI (англ. pixels per inch) — это количество пикселей на один дюйм экрана или разрешающая способность. Чтобы его посчитать, нужно знать диагональ монитора и исходное разрешение матрицы.

    Воспользуемся теоремой Пифагора и узнаем его для 27-дюймового дисплея. Если вам лень вычислять вручную, можете обратиться к онлайн-калькуляторам. При разрешении 1920×1080, получаем 82 пикселя на дюйм. Если у такой же матрицы будет разрешение 2560×1440,
    то плотность составит 109 PPI. А при 4K (3840×2160) получаем уже 163 PPI.

    В последнем случае из-за высокой плотности изображение на экране будет слишком мелким — можно применить масштаб 175 или 200 %. При этом изменится DPI (англ. dots per inch) — виртуальный параметр, который отражает изменения размера элементов изображения. При масштабе 100 % PPI и DPI совпадают.

    Размеры рабочего стола при масштабе 200 % (сверху) и 100 % на 4K-мониторе

    Если компьютерные мониторы со сверхвысоким разрешением пока не так популярны,
    то подавляющая часть современных телевизоров уже выпускается с 4K-разрешением. Плотность пикселей здесь существенно меньше из-за размеров экрана (например, для 65-дюймового ТВ это будет всего 68 PPI).

    Но стоит учитывать, что телевизор вы смотрите не вплотную, а с расстояния в несколько метров. Например, если подключаете его к ПК или ноутбуку как второй монитор, рекомендуем также выставить увеличенный масштаб в диапазоне 175–225 %, чтобы текст на экране был читаемым.

    Подводные камни

    В Windows 10 был внедрен новый принцип изменения размера приложений. Если раньше
    в системе было четыре фиксированных типа DPI (96, 120, 144 и 192), то в «десятке» программа обязана уметь масштабироваться под любой размер виртуального пикселя. Эту идею разработчики из Microsoft подсмотрели у коллег из Google. В системе Android приложения выглядят нормально на любом устройстве (будь то планшет, телефон или умный телевизор).

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

    Мы рекомендуем использовать современное ПО и скачивать последние версии с официальных сайтов разработчиков.

    Советы по масштабированию

    Если вы все-таки пользуетесь устаревшими программами, рекомендуем заглянуть в подраздел настроек «Дополнительные параметры».

    В дополнительные параметры можно попасть из вкладки «Дисплей»

    Здесь можно активировать опцию «Исправление масштабирования», которая призвана устранить размытость в классических приложениях. Это так называемый «костыль», который не всегда правильно работает. Если совсем ничего не помогает, уберите масштабирование
    в свойствах ярлыка конкретной программы:


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


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

    Читайте также: