Адаптивная яркость

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

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

  • Реализация автоматической яркости была радикально упрощена для изготовителей оборудования, желающих интегрировать световые датчики в Windows 11 с помощью новой парадигмы, ведроизованной кривой реагирования на внешний свет (ALR). Дополнительные сведения см. в статье Об изменениях кривой отклика внешнего освещения для Windows 11.

  • Новый метод не зависит от предыдущей кривой lux-to-яркости, настраиваемой oem. Кривая по умолчанию является более стабильной и надежной, а также упрощает интеграцию.

  • Параметры страницы имеют новые визуальные элементы. Обновления на страницу параметров отображения приведены в этой статье. Существует переключатель пользователя для управления адаптивной яркостью содержимого (CABC).

Следующие улучшения в Windows 10 версии 1903 (19H1) по-прежнему доступны:

  • Автоматическая яркость включена по умолчанию
  • Пользователи могут управлять яркостью с помощью ползунка центра уведомлений
  • Параметры конфигурации реестра адаптивной яркости

Оптимизация действий по яркости и переходов

Количество уровней яркости, предоставляемых устройством отображения, важно. Возможны два подхода:

  1. Процентная доля: управление яркостью с помощью процентных значений, поддерживая уровни 101 (ноль до 100) элемента управления задней света.
  2. На основе Nits (рекомендуется): управление яркостью с помощью нитовых значений позволяет точное управление уровнями заднего света. И поэтому обеспечивает очень гладкие и точные переходы яркости.

Windows обнаруживает тип интерфейса яркости, предоставляемый драйвером дисплея, и выбирает наиболее подходящий интерфейс. Если драйвер дисплея предоставляет только интерфейс DXGK_BRIGHTNESS_INTERFACE_2, система будет управлять яркостью с помощью процентных значений. Если драйвер дисплея предоставляет интерфейс DXGK_BRIGHTNESS_INTERFACE_3, Windows 10 версии 1809 и более поздних версий управляет яркостью с помощью нитовых значений. Интерфейс DXGK_BRIGHTNESS_INTERFACE_3 игнорируется в версиях Windows нижнего уровня. Если интерфейсы DXGK_BRIGHTNESS_INTERFACE_2 и DXGK_BRIGHTNESS_INTERFACE_3 предоставляются драйвером отображения, Windows 10 версии 1809 и более поздними версиями будет управлять яркостью с помощью нитовых значений. Версии Windows нижнего уровня будут управлять яркостью с помощью процентных значений.

Рекомендации по яркости и отображению

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

Реализация отображения должна быть тщательно оптимизирована. В частности:

  • Убедитесь, что дисплей может плавно оттенять все доступные уровни яркости.
  • Необходимо предоставить достаточное количество уровней яркости дисплея, чтобы обеспечить плавное уменьшение масштаба. Рекомендуется по крайней мере 101 уровней.

Управление яркостью с помощью нитовых значений

Начиная с Windows 10 версии 1809 система будет управлять яркостью с помощью нит на устройствах, где драйвер отображения предоставляет интерфейс DXGK_BRIGHTNESS_INTERFACE_3 . Нит (candela на квадратный метр) — это единица света международной системы единиц (SI). Когда устройство имеет правильно отсортированный дисплей и правильно откалиброванный датчик, элемент управления яркостью должен работать из коробки. На этих устройствах не требуется ни одной кривой ALR.

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

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

Управление яркостью с помощью процентных значений

Системы, не поддерживающие управление яркостью ниток, должны поддерживать процентные значения. В процентных системах необходимо сопоставление между процентными значениями заднего света и значениями света. Сопоставление процентных значений заднего света со значениями света должно соответствовать экспоненциальному шаблону. В системах яркости на основе нит, так как ожидается, что каждый уровень нит будет калибровкой, предоставляется процент в папке "Входящие" для сопоставления нит. Этот процент в папке "Входящие" для сопоставления нит использует человеческое зрение и исследования цветовой науки для обеспечения перцептуально линейной яркости ползунок. Если уровни ниты правильно вычисляются, как описано в DXGK_BRIGHTNESS_INTERFACE_3, разница в нулевых и 1% будет автоматически эквивалентна цептуальной разнице света между 1% и 2%, и т. д.

Человеческое зрение более чувствительно к небольшим изменениям в выходных данных яркости экрана на низких уровнях света, поэтому более низкие уровни заднего света должны быть выделены для более низкого диапазона яркости для размещения более плавных переходов. Разница между 1% и 2% в нитах должна быть меньше, чем разница от 10% и 11%, например. Это означает, что 50% максимальной яркости экрана не будет сопоставлено с уровнем заднего света 50 %.

Для приемлемого взаимодействия с пользователем самый низкий уровень яркости (0%) должен привести к низкому, но доступному для чтения отображению. Пользователи могут попасть в неустранимые ситуации при настройке яркости на 0 % на устройствах, которые сопоставляют это значение с 0 нитами, так как элементы управления для яркости экрана больше не видны. Экран должен быть достаточно ярким на уровне 0%, чтобы пользователь взаимодействовал с пользовательским интерфейсом на дисплее. На устройствах, поддерживающих интерфейс DXGK_BRIGHTNESS_INTERFACE_3 , 0 % автоматически ограничивается не менее 5 нит в Windows.

Изменения кривой отклика окружающего света для Windows 11

Некоторые проблемы были подняты относительно реализации адаптивной яркости Windows 10:

  • Плохое чтение датчика освещения окружающей среды, особенно в очень темных или очень ярких средах
  • Отображение панелей, которые не могут адаптироваться к каждому проценту или нит-значению
  • Сложность поиска оптимального люкса для сопоставления нит

Эти проблемы приводят к следующим проблемам:

  • Постоянные колебания яркости дисплея из-за неточностей датчика внешнего света (ALS)
  • Незначительные изменения в нитах, видных в средах с низким освещением

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

На следующем рисунке сравниваются изменения кривой ALR по умолчанию из Windows 10 с Windows 11. Пример кривой по умолчанию находится слева, а сегментированная кривая по умолчанию для Windows 11 находится справа. Приведенные ниже кривые представляют собой только примеры кривых, которые можно задать как значения по умолчанию. Фактическая кривая по умолчанию для устройства зависит от ряда факторов и может отличаться в зависимости от производителя устройства.

Two charts comparing changes to the default ALR Curve.

Примечание.

Системы, обновляющиеся с Windows 10 до Windows 11: никаких изменений в оборудовании или встроенном ПО за пределами существующих требований к адаптивной яркости Windows 10, это внутренние изменения в Windows 11. Существующие системы с поддержкой адаптивной яркости Windows 10 будут испытывать новую сегментированную кривую при обновлении до Windows 11.

Общие сведения о функциональных функциях автоматической яркости в сегменте

Чтобы уменьшить частые колебания яркости дисплея в ответ на колебания считывания из ALS, мы ввели автозаполнение. Диапазон значений люкс сопоставляются с одним целевым процентным значением яркости. Затем яркость дисплея переходит в целевое процентное значение. На DXGK_BRIGHTNESS_INTERFACE_2 устройствах, основанных на интерфейсе, целевой процент используется в качестве значения. На DXGK_BRIGHTNESS_INTERFACE_3 устройствах на основе интерфейса целевой процент преобразуется в соответствующее значение нит и используется. На основе наших экспериментов в различных условиях освещения диапазоны люкс секционируются на семь разных перекрывающихся контейнеров и назначены соответствующий целевой объект яркости дисплея. Чтение из ALS сопоставляется с целевой яркостью с помощью этой таблицы поиска. Контейнеры вводят необходимый эффект гистериса, который предотвращает колебания яркости дисплея для незначаемых изменений в чтениях ALS. Перекрывающиеся контейнеры помогают с плавным переходом между контейнерами при широком чтении ALS.

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

Ниже приведен пример последовательности событий с кривой ALR в папке "Входящие":

Flowchart showing the sequence of events in a bucketed ALR curve.

BucketedALRCurve запускается во втором контейнере и предназначен для 55%.; Датчик сообщает 40 люкс; Датчик сообщает 90 люкс; Датчик сообщает 40 люкс; Датчик сообщает 90 люкс; Датчик сообщает 20 люкс; BucketedALRCurve переходит от второго контейнера к первому контейнеру. Целевой объект яркости теперь составляет 40%; Пользователь видит, что яркость падает на 15%; Датчик сообщает 60 люкс; Датчик сообщает 90 люкс; Датчик сообщает 40 люкс; Датчик сообщает 200 люкс; BucketedALRCurve переходит от первого контейнера к второму контейнеру. Целевой объект яркости теперь составляет 55 %. Пользователь видит, что яркость выросла на 15 %

Для этой последовательности яркость только поднялась и вниз в два раза в целом, даже если внешний свет часто колебался.

Устройство начинается во втором контейнере. Когда датчик колеблется от 40 до 90 люкс, процент яркости никогда не изменяется с 40 и 90 люкс оба принадлежат во втором контейнере.

Когда датчик сообщает выборку из 20 люкс, устройство переходит к первому контейнеру, так как 20 люкс больше не находится во втором контейнере. Затем яркость стабильна для нескольких значений люкса. Обратите внимание, что значения 90 и 40 люкс не перемещают яркость обратно во второй контейнер, так как эти значения существуют в первом контейнере.

Когда датчик сообщает выборку из 200 lux, устройство переходит во второй контейнер, так как 200 lux превышает максимальное значение люкса первого контейнера.

Сценарии на открытом воздухе

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

Чрезвычайно темные сценарии

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

Разделы реестра автоматической яркости

Настройки OEM, упоминание в этом разделе, относятся к следующему разделу реестра в Windows 11:

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AdaptiveDisplayBrightness\{23B44AF2-78CE-4943-81DF-89817E8D23FD}

Ключ. Формат. Использование
AutobrightnessLuxToNitsCurve REG_SZ Считывание LUT для ALS lux для целевой кривой нит. Пример: "1:8,2:25,5:35,10:60,20:90,40:90,100:130 400:170,700:200,2000:400,3000:500,4500:700"

Гистерез яркости для пользовательской кривой ALR в Windows 11

Большинство систем по умолчанию используют ведеризованную автоматическую кривую яркости в Windows 11. Гистерез и переходы не будут использоваться в сегментизованной кривой по умолчанию. Следующие параметры следует использовать, когда ИЗГОТОВИТЕЛЬ откажется от использования настраиваемой кривой ALR.

Ключ. Формат. Использование
UpperBrightnessHysteresisLut REG_SZ LUT для порога гистериса верхней границы яркости. Пример: "10000:50000,20000:40000,50000:10000" представляет LUT, определенный (входные 100000 миллионов, hysteresis 50000millinits), (20000, 40000) и (50000, 100000) в этом конкретном порядке
LowerBrightnessHysteresisLut REG_SZ LUT для порога яркости нижней границы гистериса.

Переходы яркости для пользовательской кривой ALR в Windows 11

Ключ. Формат. Использование
MinBrightnessTransitionNitDelta REG_DWORD Минимальная разность нит, необходимая для активации перехода яркости, определенного в миллинитах
DefaultBrightnessTransitionInterval REG_DWORD Внутреннее время перехода яркости по умолчанию между двумя точками перехода, определенными в миллисекундах
MinBrightnessTransitionInterval REG_DWORD Минимальное время перехода яркости между двумя точками перехода, определенными в миллисекундах
MaxBrightnessTransitionInterval REG_DWORD Максимальное время перехода яркости между двумя точками перехода, определенными в миллисекундах

Тестовые случаи

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

Калибровка ALS

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

Калибровка ALS применяется к

Все системы, поддерживающие адаптивную яркость

Настройка и средства калибровки ALS

  • Управляемый (недоступный) источник света, способный создавать различные уровни люкса
  • Свет метр измерения света в люксе
  • MonitorBrightnessApp или Sensor Обозреватель для визуализации значений, сообщаемых датчиком внешнего света

Процедура тестирования калибровки ALS

  1. Установите световый метр рядом с устройством. Метр света должен быть как можно ближе к датчику внешнего света, не взаимодействуя с ним.
  2. Запуск MonitorBrightnessApp
  3. В темной комнате используйте источник света для изменения уровня окружающего света на разные уровни люкса
  4. Считывайте счетчик люкса и значение, сообщаемое MonitorBrightnessApp. Значения должны совпадать

Варианты калибровки ALS

  1. Используйте различные типы управляемых огней, таких как лампы накаливания, CFL и светодиодные
  2. Использование разных углов

Оценка калибровки ALS (передача или сбой)

Значения люкса, сообщаемые MonitorBrightnessApp, должны совпадать со значениями, сообщаемыми световым счетчиком.

Заметки о калибровке ALS

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

Степень детализации ALS

Убедитесь, что изменения датчика окружающего света ознамечены без задержки

Степень детализации ALS применяется к

Все системы, поддерживающие адаптивную яркость

Настройка и средства детализации ALS

  • Используйте источник света с управляемым тумбером, чтобы тонко увеличить внешний свет вверх и вниз. Источник света должен иметь возможность плавно раздувать свет вверх и вниз.
  • Используйте MonitorBrightnessApp в папке BrightnessTests, чтобы визуализировать ответ датчика внешнего освещения.

Процедура тестирования детализации ALS

  1. В темной комнате используйте тумнеющий, чтобы плавно раздуть уровень света вверх и вниз
  2. Используйте MonitorBrightnessApp для визуализации отклика датчика внешнего света. Ответ должен соответствовать изменениям, примененным к теммеру.

Оценка детализации ALS (передача или сбой)

Ответ датчика окружающего света должен точно соответствовать изменениям, примененным к теммеру. Линейное изменение к теммеру должно привести к линейному ответу от датчика внешнего света. Ответ ALS не должен быть сдержанным. Изменение меммера должно быть немедленно видно в MonitorBrightnessApp без задержки.

Заметки о детализации ALS

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

Переходы в спящий режим

Убедитесь, что датчик внешнего света по-прежнему работает при выходе из сна или при открытии крышки.

Переходы в спящий режим применяются к

Все системы, поддерживающие адаптивную яркость

Настройка и средства перехода в спящий режим

  • Используйте источник света для переключения внешнего освещения включено и выключение.
  • Используйте MonitorBrightnessApp в папке BrightnessTests, чтобы визуализировать ответ датчика внешнего освещения.

Процедура тестирования переходов в спящий режим

  1. В темной комнате переключите устройство или откройте крышку.
  2. Используйте MonitorBrightnessApp для визуализации чтения датчика внешнего света. Убедитесь, что датчик считывает низкое значение lux.
  3. Продолжайте работу MonitorBrightnessApp на протяжении следующих действий.
  4. Закройте крышку или отключите устройство
  5. Переключите свет, убедитесь, что внешний свет яркий
  6. Откройте крышку или переключите устройство на
  7. Подключение на рабочий стол и просмотрите значение в MonitorBrightnessApp. Значение люкса должно немедленно отражать фактический внешний свет.

Оценка переходов в спящий режим (передача или сбой)

Датчик внешнего света должен отправлять пример считывания при выходе из подключенного режима ожидания или при открытии крышки.

Заметки о переходе в спящий режим

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

Гладкие переходы

Убедитесь, что панель отображения плавно изменяет яркость.

Плавные переходы применяются к

Все системы, поддерживающие адаптивную яркость

Плавное изменение настроек и инструментов

  • Используйте скрипт BrightToDim.ps1, найденный в папке BrightTests , для линейного увеличения яркости вверх и вниз. Переключите устройство на яркость вручную. Сценарий будет уменьшать яркость экрана от 100 до 0.
  • Необязательно. Используйте метр яркости (ниты) для измерения яркости экрана

Процедура тестирования с плавными переходами

  1. Убедитесь, что экран отображается максимально белый, например, откройте Блокнот и разверните его на экране.
  2. Запустите скрипт BrightToDim.ps1 и просмотрите поведение экрана. Экран должен переходить как можно более гладко, без каких-либо переходов яркости.

Плавное вычисление переходов (передача или сбой)

Яркость экрана должна плавно переходить вверх и вниз, не должно быть никаких видимых переходов в яркости.

Заметки об плавном переходе

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

См. также