Это определенно не проблема битых пикселей. Я определил, что это, вероятно, программная ошибка, появившаяся в Мохаве. В большинстве случаев я не могу снимать скриншот с глюка (обычно он сразу исчезает), но мне удалось запечатлеть его на нескольких видео и скриншотах.
Тот факт, что он может быть записан в программном обеспечении, и тот факт, что курсор может покрывать сбитые пиксели, указывает на то, что проблема не в мониторе, а в программном обеспечении.
Примеры:
Fire Fox
Вот снимок экрана с записью экрана Firefox , где вы можете увидеть серые пиксели.
Интересно, что если мы немного увеличим масштаб, то увидим, что пиксели фактически находятся за пределами самого окна.
искатель
Я также зафиксировал похожие глюки, возникающие в собственном Finder от Apple, на обычных скриншотах.
Заметки:
Некоторые интересные вещи, чтобы отметить об этом.
- Я видел только это на темных участках окна.
- Это может происходить как в светлом, так и в темном режиме (если окно в любом случае темное).
- В основном это происходит на краю окна (где тень), хотя я видел это внутри некоторых.
- Он часто (но не всегда) исчезает при изменении фокуса окна, среди прочего (изменение фокуса окна приводит к изменению теней окна).
- Мне удалось изменить фокус на окно iTerm и обратно без тени (когда включена прозрачность), и сбой за пределами нижнего края окна сохранялся.
- Это можно сделать с помощью функции записи экрана QuickTime Player.
- Таинственным образом, хотя его можно захватить с помощью QuickTime, он невидим для инструмента разработчика Pixie от Apple , как видно на этой записи экрана . Кроме того, приложение Digital Color Meter также не видит его .
- Я видел это в основном в сером и красном, но также в зеленом, желтом и других цветах.
- Сбой может произойти, даже когда Finder не работает, поэтому он не является частью Finder.
- Запуск
killall Dock
SSH в машине, отображающей сбой, может привести к его остановке, хотя это может быть лишь побочным эффектом изменения тени.
- Я пытался приостановить все процессы Firefox (
firefox
+ plugin-container
процессы) через SSH, kill -SIGSTOP
пока происходил сбой, и сбой продолжал мигать, еще раз указывая, что сбой происходит за пределами процессов Firefox.
- Идя дальше, я попытался систематически приостанавливать процессы по SSH, чтобы выяснить, какой из них может быть ответственным. Единственная приостановка вызывает мигание, чтобы заморозить был
WindowServer
.
- Используя инструмент разработчика Quartz Debug (один из инструментов добавления XCode, упомянутых здесь ), я протестировал некоторые из его вариантов. Когда была включена опция «Отключить 2D-ускорение», я не смог воспроизвести глюк, как мог, когда он был отключен. Параметры автоматического рисования и вертикальной синхронизации не имели никакого эффекта.
- Кажется, это происходит только с интегрированной видеокартой. Я не смог воспроизвести его, пока активна дискретная карта.
- Пока что я слышал только о том, что это происходит на последних моделях MacBook Pro и MacBook Air. Мне не удалось воспроизвести эту проблему на MacBook Air предыдущего поколения с той же версией ОС.
- Я еще не видел, чтобы это произошло в виртуальной машине Mojave, использующей VMware Fusion, что еще больше указывает на то, что это происходит только с определенным оборудованием.
- Чтобы удалить все переменные, я попытался запустить чистую установку Mojave 10.14.1 на внешнем диске. Со всеми настройками по умолчанию я быстро смог воспроизвести его в Light Mode с Firefox 63.0.1 с включенной темной темой и темной темой инструментов разработчика и открытой консолью ( запись экрана ).
- Похоже, что браузерные приложения, скорее всего, вызывают его (например, приложения на базе Firefox и Electron).
- Приложения, с которыми я видел это (возможно, я забыл некоторые):
- Fire Fox
- Верхний край (требуется темная тема Firefox)
- Нижний край (требуется темная нижняя часть окна на открытой панели поиска с темной темой, инструменты разработки с темной темой или темное содержимое веб-страницы). Также сделано на чистой установке 10.14.1 .
- Atom (может потребоваться Настройки> Ядро> Строка заголовка> Пользовательский)
- диссонанс
- Нижний край
- Внутреннее окно
- iTerm (с черным, полупрозрачным фоном; похоже, с непрозрачным фоном это не происходит)
- Верхний край
- Нижний край
- Внутреннее окно (у нижнего края одной панели с разделенными панелями)
- искатель
- Монитор активности
- Дисковая утилита
- Приставка
- Внутреннее окно (над прозрачными заголовками столбцов)
- почта
- Внутреннее окно (над прозрачными заголовками столбцов)
- Утилита архивирования
- Hex Fiend
- Google Chrome (при использовании темного режима macOS)
- Внутреннее окно
chrome://downloads/
под светло-серой горизонтальной линией верхней строки меню)
- Я также видел, как это происходило однажды у нижнего края раскрывающихся меню в верхней строке меню.
- Выбор приложений и мест, которые я видел, вызывает у меня подозрение, что это может быть связано с прозрачностью окна.
Вещи, которые не влияют на сбой (протестировано с Firefox):
- Выполнение чистой установки 10.14.1.
- Сброс PRAM.
- Сброс SMC.
- Откройте приложение в режиме низкого разрешения.
- Системные настройки:
- Масштабирование разрешения экрана.
- Отображение цветового профиля.
- Ночная смена.
- Система акцентного цвета.
- Автоматически скрывающийся док.
- Специальные возможности> Дисплей> Использовать оттенки серого
- Специальные возможности> Дисплей> Инвертировать цвета
Оборудование:
Я только слышал, что это касается различных моделей MacBook Pro 2016-2018 и MacBook Air 2018 года (модели с USB Type-C). Если вы видите эту проблему на другой модели компьютера Apple, или у вас нет этой проблемы на одной из затронутых моделей, мне было бы интересно узнать об этом.
Вывод:
К сожалению, я не думаю, что есть какой-либо способ предотвратить этот сбой на этом этапе, кроме принудительного использования дискретной карты, если она есть на вашем компьютере (и вы не против сокращения времени работы от батареи), но, надеюсь, это будет быть решена в будущем обновлении.
Еще более прискорбно, что это все еще не было исправлено ни в одной версии с 10.14.0 по 10.14.6 или во втором дополнительном обновлении с тех пор. Я отправил отчет об ошибке на bugreport.apple.com (не публично, но 46079638
), который был помечен как дубликат 45841204
. У меня нет доступа к этому отчету об ошибках, но я подумал, что упомяну его, если кто-то захочет сослаться на него.
По сообщениям это все еще присутствует в 10.15 Catalina ( отчет об ошибке MDN ).
Действия по воспроизведению:
Мне посчастливилось воспроизвести ошибку с Firefox.
- Откройте Firefox (63.0.1 в моем случае)
- Установите тему Firefox на Dark
- Вид> Панели инструментов> Настройка ...> Темы> Темный
- Перейдите на страницу, например http://example.com/
- Открытые инструменты разработчика
- Сервис> Веб-разработчик> Инспектор
- Установить тему инструментов разработчика на темный
- В правом верхнем углу нажмите ...> Настройки> Темы> Темно
- Перейдите на вкладку «Инспектор».
- Откройте консоль
- В правом верхнем углу нажмите ...> Показать сплит консоль
- Убедитесь, что инструменты разработчика закрывают нижнюю часть окна
- Если этого не произойдет, в правом верхнем углу нажмите ...> Прикрепить к основанию
- Перезагрузите страницу, пока не произойдет глюк
Ссылки:
Возможно, это связано со слабостью : избегайте использования прозрачной поверхности с помощью CoreAnimation (если мое подозрение, что оно связано с прозрачностью, верно, это изменение может в конечном итоге повлиять на эту ошибку, возникающую в Firefox, если только избежать ошибки ОС).