Двойные мониторы в Windows - Как установить разные DPI или размер текста на каждом мониторе?

103

Мой ноутбук имеет 15-дюймовый экран с разрешением 1600x1050, и в дополнение к этому я подключаю внешний 19-дюймовый ЖК-дисплей с разрешением 1280x1024. Проблема с этой настройкой заключается в том, что если я увеличу размер текста, чтобы сделать экран ноутбука читабельным, текст на внешнем ЖК-дисплее будет огромным. Обычный текст на ЖК-дисплее приводит к крошечному тексту на ноутбуке.

Какие варианты у меня есть, чтобы обойти это?

Dlux
источник
возможный дубликат Set DPI отдельных приложений в Windows
Ƭᴇcʜιᴇ007
Я не пометил ответ на этот вопрос, так как, похоже, Windows 8.1 теперь поддерживает несколько настроек DPI.
Делюкс

Ответы:

43

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

Обновить:

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

Иосип Медведь
источник
8
Представьте, что программа должна попробовать, чтобы охватить оба монитора. Или переходит от одного к другому ...
Джои
5
Я полагал, что это будет невозможно, но надеялся, что есть какое-то стороннее решение. Если кто-то хочет заработать немного денег, вот проблема, которую нужно решить. :)
dlux
3
Это правильный ответ - ответ «нет». И представьте, если окно программы охватывает 2 или 3 монитора одновременно - для программы практически невозможно нарисовать части себя при разных настройках DPI / Font. Windows пришлось бы подать в отставку - избавиться от понятия шрифта и настроек DPI, чтобы это когда-либо работало.
Ян Бойд
13
Вы можете иметь различные точки на дюйм в зависимости от экрана, но, видимо, не на Windows. У меня эта проблема с Retina Macbook Pro, подключенным к другому экрану. Он отлично работает в Mac OS X, так как масштабируется в соответствии с собственным DPI и разрешением экрана, но не в Windows 7/8, поскольку ему требуется одинаковое разрешение на дюйм на всем рабочем столе. Это проблема в Windows, потому что вам придется жить слишком большим текстом на одном дисплее или слишком маленьким текстом на другом.
Спойк
4
Забавно, что многие из этих ответов «это невозможно», когда это делается в Windows 8, хотя это все еще не идеально. Что касается охватывающих мониторов, он просто выбирает DPI монитора, в котором расположен верхний левый угол окна. У меня проблема с RDP для windows 7. Дисплей Retina слишком мал и перемещает его на телевизор 1920x1080, так как второй дисплей делает его еще меньше.
Джейсон Гомаат
27

Немного взломать это:

Если вы всегда используете определенное приложение на одном экране, вы можете настроить это приложение на игнорирование настроек DPI. Например, у меня на большом мониторе Visual Studio настроено игнорирование DPI (100%). Все остальное на моем мониторе ноутбука Retina на 145%.

Параметр «Отключить масштабирование экрана при настройках с высоким DPI» совместим в меню свойств приложения exe.

Olly
источник
Интересно, что я понимаю, что Chrome не выполняет масштабирование экрана должным образом, так как он выводит шрифты за пределы экрана или что-то в этом роде. Таким образом, 145% -ная вещь для хрома, вероятно, не так уж велика (хотя все еще, вероятно, довольно хороша) :-)
Джесси Пеппер
16

Наконец, он работает в Windows 10, хотя многие приложения по-прежнему не будут правильно масштабироваться. Он работает почти так же хорошо, как на OSX.

Для 1-го монитора с более высоким DPI ( масштаб 200% )

введите описание изображения здесь

Для 2-го монитора с меньшим DPI ( 100% шкала ) введите описание изображения здесь

Важно НЕ использовать следующее масштабирование ( оно должно быть установлено на 100% ). По умолчанию при использовании пакета драйверов MacBook Retina он будет установлен на 150/200%. введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь

Эвальдс Уртанс
источник
Это хорошая новость о Windows 10, и спасибо за очень хорошо написанный ответ!
Делюкс
1
Есть ли способ сортировки с другим соотношением? Мне нужно установить дисплей моего ноутбука (15 "full HD) на 125%, чтобы я мог видеть что угодно. Но мой внешний дисплей (27" full HD) я хочу сохранить на 100% размера текста, чтобы использовать большой экран. Но на этой конфигурации внешний дисплей получил размытый текст. Есть ли решение для этого? Спасибо
Мимо
8

Примечание: Windows 8.1, вопреки утверждениям Microsoft, это не действительно поддерживает работу нескольких ИСП на отдельных мониторах.

У меня есть ноутбук с Windows 8.1 и 3840x2160 16-дюймовым экраном. Чтобы диалоговые окна, окна и т. Д. Имели пригодный размер, он должен работать в масштабе 200% (сравнимое с обычным 16-дюймовым дисплеем 1080p, но с элементами пользовательского интерфейса, текст и фотографии все более четкие).

Когда приложения перемещаются с монитора ноутбука на внешний монитор, как только более половины окна перетаскивается поверх окна, его размер изменяется. Проблема в том, что строки меню, курсор и т. Д. Изначально не перерисовываются при новой настройке DPI, все окно приложения, панели инструментов и все отрисовывается с разрешением 200 точек на дюйм, затем растровое изображение изменяется до 50% для размещения на внешнем мониторе. Только шкала DPI 200% используется одновременно, тогда как другие DPI для внешних мониторов [плохо] виртуализированы. Используется очень размытое билинейное масштабирование, а текст совершенно нечитаем на внешнем мониторе. Это означает, что преимущества таких вещей, как чистый текст (который основан на рендеринге пикселей 1: 1 и фактически использует субпиксельное сглаживание), невозможно при использовании смешанных точек на дюйм.

Некоторые приложения (IE, powerpoint) перечислены для каждого монитора с учетом DPI. В этом случае содержимое окон перерисовывается с правильным размером и четким типом в приложениях по-прежнему функционирует, но строки меню, строка заголовка и даже курсор по-прежнему отображаются в масштабе 200% - что делает их необычно большими на внешних мониторах. Я подозреваю, что это исключение было сделано для того, чтобы полноэкранные презентации можно было делать без размытого растрового масштабирования. С 200% шкала панелей инструментов , хотя, эти приложения не могут быть использованы для чего - нибудь другого , чем полноэкранный режим.

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

ScottLux
источник
Это похоже на случай и в Windows 10. Единственный способ исправить размытый текст на внешнем мониторе - подключить внешний дисплей, а затем выйти / войти или перезагрузить компьютер.
Леви
Смотрите здесь для объяснения MS - blogs.windows.com/buildingapps/2016/10/24/…
Леви
3

Я решил эту проблему, изменив «видимый DPI» (и, следовательно, размер текста) мониторов. Размещение внешнего 19-дюймового ЖК-дисплея подальше уменьшит видимый размер шрифта.

Если вы не хотите / не можете размещать подобные дисплеи, вы также можете использовать экран Thinkpad с более низким разрешением, чтобы увеличить видимый размер шрифта. Рассчитайте DPI здесь и убедитесь, что они совпадают.

Leftium
источник
Распространенная ошибка, которую делают люди, заключается в том, чтобы взять разрешение монитора (в пикселях) и разделить его на размер монитора (в дюймах), и использовать это число в качестве значения DPI для Windows.
Ян Бойд
Настройка в соответствии с разрешением (в отличие от рекомендованных производителем) дала наилучшие результаты с точки зрения соответствия размера, хотя это оказывает влияние на блочность и сглаживание шрифта.
Дэнни Стейпл
3

Ты должен быть способен. В Linux вы можете сделать это так:

  1. Создайте X VNC-сервер с размером экрана, в два раза меньшим по размеру. Например: у вас есть два монитора одинакового размера, но шириной 1920 и 1600 пикселей: вы делаете виртуальный сервер в два раза лучше: ширина 3840 пикселей (высота 1080 пикселей).

  2. Откройте два клиента VNC на сервере, который вы только что создали. Положите по одному на каждом экране. Полноэкранный. Масштаб 1: 1. Прокрутите окно справа, чтобы показать самую правую часть Vnc-сервера. Поскольку пиксели имеют разный размер, все будет выглядеть больше на экране 1600px. Уменьшите это, пока размеры не соответствуют.

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

Даниил
источник
но он не будет работать для настроек dpi, таких как 125% или 150%
phuclv
2

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

t3mujin
источник
панорамирование / прокрутка не имеет значения. Если дисплей и его драйвер способны изменять разрешение, то именно изменение разрешения (жертвуя всей детализацией дисплея) заставляет этот подход работать. Такой обходной путь может быть сделан сегодня, где поддерживается аппаратно, без панорамирования / прокрутки.
ToolmakerSteve
1

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

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

Ƭᴇcʜιᴇ007
источник
1
Смотрите также новый ответ Олли ;-)
Арджан
1
@Arjan Выезд: superuser.com/a/422387/23133
Ƭᴇcʜιᴇ007
1

Я решил проблему с установкой пользовательского разрешения для второго монитора. Таким образом, вы можете эффективно «подделать» различные настройки DPI. Но учтите, что это зависит от реального монитора, показывает ли он нестандартное разрешение вообще. Кроме того, это может привести к ужасному размытому изображению, но вы можете решить, сможете ли вы жить с ним. Это далеко не оптимально, но, по крайней мере, решает проблему "другого размера" ... (Конечно, графический драйвер тоже должен это поддерживать. Nvidia делает, другие я не знаю.)

недействительным
источник
1
Вы используете Windows 8.1? Если это так, вы просто восстанавливаете информацию, которая уже была представлена ​​здесь несколько раз. Если вы не используете Windows 8.1, укажите особенности (какую операционную систему вы используете и как вы устанавливали разные разрешения на двух мониторах? ). Потому что люди пытались сделать это в течение последних 5+ лет безуспешно (до восьми месяцев назад).
G-Man
3
@ G-Man: он говорит, что он изменил разрешение на втором мониторе. Отказ от использования полного исходного разрешения монитора. Большинство (все?) Дискретных видеокарт с внешними мониторами могут работать с более низким разрешением. (В качестве крайнего примера можно привести уменьшение наполовину дисплея с разрешением 3840 x 2160 до 1920 x 1080). В зависимости от монитора, результатом может быть ужасное размытие или его вполне можно использовать. Изменение разрешения неявно меняет DPI. Это означает, что нужно жертвовать качеством устройства с более высоким DPI, чтобы иметь два экрана с похожими характеристиками.
ToolmakerSteve
0

Процедура простого изменения размера текста на каждом мониторе работает нормально (Windows 10), но при размытии возникает огромная проблема !. Смотрите эту тему

Tomas
источник
-1

У меня была похожая проблема, понимая, что шрифт был установлен на 125% на моих 2 мониторах. Поэтому я просто снизил разрешение ноутбука с 1920X1080 до 1600X900, а затем уменьшил шрифт до 100% в Панели управления \ Все элементы панели управления \ Дисплей. Это позволило сохранить шрифт на ноутбуке, а также уменьшить его размер, как я хотел на своем внешнем мониторе, который по-прежнему установлен на 1920X1080.

эмир
источник