Проблемы с рендерингом шрифтов на MacBook Pro с использованием внешнего 24 "ЖК-дисплея

23

У меня дома 24 "HP LP2475w и 23" Apple Cinema Display на работе. Сегодня, когда я включил свой ноутбук на работе, я заметил, что все шрифты выглядят идеально (после проблемы с рендерингом в течение последних двух дней). Я думал, что проблема как-то исправлена, и счастливо продолжил мой день.

Позже, когда я пришел домой, все работало, потому что я не выключил свой MacBook. Вот как это выглядит (правильно) даже на моем домашнем ЖК-дисплее

правильный

но когда я закрываю Terminal.app (или любое другое приложение в этом отношении) и запускаю его снова, пока 24-дюймовый все еще подключен, шрифты становятся ужасными

уродливый

Обратите внимание, что даже цвет фона отличается, что не имеет никакого смысла, поскольку снимки экрана делаются с интервалом около 15 секунд.

Когда я отсоединяю свой ЖК-дисплей, Терминал все еще выглядит ужасно, пока я не перезапущу его, а затем он снова выглядит нормально.

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

Возможно ли, что мой MacBook каким-то образом испытывает затруднения при связи с ЖК-дисплеем при запуске приложения? Я бы понял, если бы это произошло со всем, что отображается на 24-дюймовом ЖК-дисплее, но это происходит только с приложениями, которые запускаются, когда ЖК-дисплей подключен.

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

Якуб Арнольд
источник
Какой дисплей является вашим основным (тот, что со строкой меню)?
MattiSG
@MattiSG Я использую только один из них одновременно, и я всегда устанавливаю внешний ЖК-дисплей в качестве основного.
Якуб Арнольд

Ответы:

34

Вы должны попробовать настроить сглаживание шрифтов глобально. Откройте терминал и введите:

defaults -currentHost read -globalDomain AppleFontSmoothing

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

The domain/default pair of (kCFPreferencesAnyApplication,
 AppleFontSmoothing) does not exist

(что на самом деле хорошо, так как он говорит нам, что он не установлен, и почему у вас есть проблема).

Далее введите:

defaults -currentHost write -globalDomain AppleFontSmoothing -int 2

Если он не выглядит по-другому, хуже и т. Д. Или вы хотите изменить его еще больше, замените число «2» на «1».

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

defaults -currentHost delete -globalDomain AppleFontSmoothing

* Надеюсь, это решит ваши проблемы.

l'L'л
источник
вау, спасибо за решение @ioi У меня была такая же проблема при обновлении до Mountain Lion ... Мне было интересно, есть ли способ изменить это с Системных настроек?
Занона
Там также может быть ключ для этого ~/Library/Preferences/.GlobalPreferences.plist.
Lri
2
Какая разница между 1 и 2 тогда?
Сэм
4
Обратите внимание, что (1) удаление общих настроек, как показано выше, аналогично проверке Системных настроек> Общие> Использовать сглаживание шрифтов на ЖК-дисплее, если доступно, (2) снятие отметки эквивалентно установке -int 0, (3) значению 0, 1 и 2 - нет, легкое и среднее сглаживание шрифта, и (4) установка предпочтения в Системных настройках отменяет команды терминала выше (и наоборот). У меня есть Mac Pro с OSX 10.6.8, подключенный к NEC LCD2490WUXi, который отлично работает из коробки, но когда я купил новую 15-дюймовую сетчатку MacbookPro, тот же монитор на OSX 10.9.1 портит текст. Настройка -int=0несколько помогла.
ggkmath
6

Первое изображение использует субпиксельное сглаживание, которое использует то, как субкомпоненты RGB на ЖК-мониторе выстраиваются в линию. Вы можете увидеть это, используя «DigitalColor Meter» или любую другую утилиту, чтобы увеличить пиксели.

Второе изображение использует сглаживание с полным разрешением пикселей, которое в 3 раза более блокирует, но работает на не ЖК-дисплеях и ЖК-дисплеях, которые используют другой порядок субпикселей.

По крайней мере, в Mac OS X 10.6 это контролируется панелью управления «Внешний вид» и «Использовать сглаживание шрифтов на ЖК-дисплее, если доступно». Ключ «когда доступно». ОС должна правильно определять, когда у вас дисплей ЖКД.

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

Я предполагаю, что у вас включена функция «Сглаживание шрифтов ЖК-дисплея», но вы перемещаетесь назад и вперед между дисплеем, который OS X распознает как ЖК-дисплей, и дисплеем, которого нет.

Сет Ноубл
источник
2

Это OSX "Text Smoothing", я считаю.

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

Стю Уилсон
источник
У меня установлено самое низкое значение - 4, но, кажется, ничего не меняется, когда я его включаю и выключаю.
Якуб Арнольд
0

Вы случайно включили какие-либо специальные настройки с помощью Инструментов разработчика? Чтобы ваш компьютер теперь показывал разрешения HiDPA? Вы можете быстро проверить это, зайдя в Системные настройки> Дисплеи, и вы можете увидеть, какое разрешение используется на вашем компьютере.

Эндрю У.
источник
Нет, я ничего не изменил. Я использую родной мой монитор 1920x1200. Кажется, это происходит во всех приложениях, которые я перезагружаю, поэтому что-то должно было измениться с тех пор, как я в последний раз перезагружал свой MacBook.
Якуб Арнольд
Скорее всего, вы пытались перезагрузить компьютер и сбросить PRAM (NVRAM)? Возможно, это вернет ваш компьютер к настройкам по умолчанию. В противном случае вы можете увидеть, если проблема возникает под другим пользователем на вашем компьютере / тестовой учетной записи.
Андрей У.
Я просто собирался порекомендовать новую учетную запись пользователя, как Эндрю.
Ричард
Я фактически сделал полную очистку системы, переформатировал весь диск, переустановил, и проблема все еще сохраняется. Я не восстановил никаких резервных копий, просто сделал чистую установку Snow Leopard и выполнил прямое обновление до Lion.
Якуб Арнольд