Только что после зависания компьютера в центре экрана остался чёрный квадрат, которого «не боится» только Диспетчер задач — в итоге я свалил вину на Typeless

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

Сначала «по-человечески» про симптом:

Компьютер сначала слегка подвис, а потом в центре экрана появилась огромная чёрная прямоугольная плашка. Самое дикое — она перекрывает другие окна, но почему‑то не перекрывает Диспетчер задач.

Ощущение очень странное: это не похоже ни на зависание, ни на поломку монитора — скорее как будто на экране из ниоткуда появился «призрачный окно‑слой».

Моя первоначальная интуиция шла в несколько направлений:

  • Матрица монитора умерла
  • У Chrome или какого‑то браузерного окна сломался рендер
  • Драйвер видеокарты только что сбросился/перезапустился
  • У какой‑то резидентной программы с плавающим окном/оверлеем случился крах, но «остатки окна» остались на рабочем столе

Дальше я пошёл по пунктам и по сути «сжал» ответ до конкретики.

Сначала подтвердить, что это не поломка монитора

Самая ключевая мелочь: этот чёрный блок попадает на скриншот.

Это важно: если бы это была физическая проблема панели (битые пиксели, протечка, продавливание), то на скриншоте обычно этого не видно.
Раз на скриншоте видно — значит, это объект в графическом стеке Windows, «окно на уровне софта», а не физическая поломка экрана.

Потом полез в системные логи

Я посмотрел логи примерно около 2026-04-06 01:27 — временная линия оказалась интересной:

  • 01:27:12: завис alttab_windows.exe
  • 01:27:19: DWM (Desktop Window Manager) завершился и перезапустился
  • 01:27:20: упал CPALauncher.exe
  • далее видна серия LiveKernelEvent 117 / 141 / 1a8 / 1b8
  • ещё появился WindowsBlackScreenDiagnosticsV1

Самое ценное тут не «кто именно упал», а то, что в .NET‑исключении CPALauncher прямо написано:

Композиция рабочего стола отключена, DwmExtendFrameIntoClientArea не удалось выполнить

Смысл очень прямой:
не CPALauncher первым «уронил» систему, а композиция рабочего стола/DWM на моменте сначала отвалилась. Он просто в этот момент полез в DWM‑интерфейс — и улетел следом.

То есть общий вектор уже понятен:

Сначала случилась аномалия в цепочке отображения/графики, а затем разные приложения начали сыпаться каскадом.

Почему я потом заподозрил не одно приложение, а «дрожание» всей графической цепочки

Потому что «шум» дальше был слишком ровный:

  • в Sentry‑логах Typeless постоянно повторялось screen.display-removed / added / metrics-changed
  • PixPin.exe позже дважды падал в d3d11.dll
  • NVIDIA Overlay в тот период повторно и многократно пересоздавал оверлей‑процесс

Вместе это уже не похоже на «какое‑то одно приложение тупит», а скорее на:

система считает, что дисплейное устройство удалили и добавили обратно, или драйвер/цепочка композиции выполняет восстановление.

Как только графическая цепочка Windows дёрнется, первыми страдают программы, которые активно трогают рабочий стол:

  • плавающие окна
  • оверлеи
  • инструменты скриншотов
  • усилители Alt‑Tab/переключения окон
  • прозрачные окна
  • глобальные хоткеи
  • мелкие Electron‑утилиты

А на этой машине как раз такого добра немало.

Момент, когда я реально локализовал этот чёрный блок

Дальше я перестал гадать и просто перечислил верхнеуровневые (top-level) окна над областью в центре экрана.

Попадание было красивое:

  • процесс: Typeless
  • заголовок окна: Status
  • координаты и размер практически полностью совпали с чёрным блоком

То есть эта чёрная штука — не браузер, не рабочий стол, не OSD видеокарты как таковой, а статусное плавающее окно Typeless.

Потом я полез в локальные ресурсы Typeless — и там даже напрямую видно:

  • floating_bar__window__title = \"Status\"

Всё стало практически железобетонно:

этот чёрный блок по сути и есть статусное плавающее окно Typeless, но после сбоя в графической цепочке оно не перерисовалось/не закрылось корректно и превратилось в полностью чёрное призрачное top-level окно.

Почему деталь «Диспетчер задач не перекрывается» настолько полезна

Это очень похоже на оверлей высокого приоритета.

Если обычное приложение «почернело», Диспетчер задач всё равно будет перекрываться.
А если это какое‑то специальное верхнеуровневое плавающее/всегда‑поверх/инструментальное/слойное окно, то Диспетчер задач иногда может «продавить» его своим приоритетом отображения.

Так что деталь «все окна перекрывает, а Диспетчер задач — нет» на самом деле как будто подсказывает:

проверяй верхние оверлеи, а не только вкладки браузера.

Финальный способ решения оказался предельно простым

Никакой мистики.

Действие, которое реально убрало чёрный блок, было одно:

просто завершить процесс Typeless.

Закрыл — и чёрная плашка исчезла мгновенно.

Это также означает, что это не состояние «система уже сломана и только перезагрузка спасёт», а по‑прежнему живой объект окна, у которого просто «содержимое уже поломано».

Как я сейчас понимаю «коренную причину» и «непосредственную причину»

Я бы разложил это на два слоя:

Непосредственная причина

Плавающее окно Status в Typeless не восстановилось после сбоя в цепочке отображения и оставило чёрное top-level окно.

Более глубокая коренная причина

В тот промежуток времени сначала сломался/дёрнулся графический стек Windows, например:

  • DWM был прерван/пересоздан
  • сработало событие GPU watchdog
  • драйвер видеокарты или топология дисплеев кратковременно стала нестабильной

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

Если оглянуться назад — что выглядит самым подозрительным

По моему приоритету:

  1. кратковременная нестабильность драйвера видеокарты / графического стека
  2. слишком много резидентных «улучшателей окон»/оверлеев одновременно
  3. слабая устойчивость Typeless к изменениям топологии отображения

В тот момент среди «высокорисковых» программ были:

  • Typeless
  • PixPin
  • alttab_windows
  • NVIDIA Overlay
  • и уже удалённый мной CPALauncher

По отдельности у каждого может и не быть проблем, но вместе это очень похоже на стресс‑тест для DWM и D3D11.

Если в следующий раз снова встречу похожий сбой — как буду разруливать быстрее

Сейчас порядок диагностики я бы поменял на такой:

  1. сначала проверить, попадает ли чёрный блок на скриншот
  2. если попадает — сразу считать, что это софтовое окно, а не поломка экрана
  3. открыть Диспетчер задач и искать процессы из классов: плавающие окна/оверлеи/скриншотеры/улучшатели окон
  4. перечислением или визуально определить, какому окну принадлежит чёрный блок
  5. сначала завершить тот процесс, а потом уже разбирать системные логи
  6. в конце решать, нужно ли копать проблему драйвера видеокарты глубже

Временный вывод

Это не «сломался монитор» и не «Chrome почернел» в простом смысле.

Точнее будет так:

аномалия уровня графической цепочки/DWM уронила целую пачку программ, зависящих от композиции рабочего стола; а плавающее окно Status у Typeless не повезло больше всего — оно осталось в центре экрана огромным чёрным призрачным окном.

Это реально очень по‑виндовски и довольно интересно:

не та неисправность, которую видно сразу, — сначала нужно принять факт «чёрный блок тоже является объектом окна», и дальше всё внезапно начинает складываться.

Если дальше я ещё сузлю версию драйвера, условия воспроизведения или то, какая конкретно функция Typeless триггерит это состояние, — допишу отдельным постом.