Адаптивная яркость
Адаптивная яркость — это автоматический набор яркости экрана системой в ответ на чтение датчика внешнего света. Адаптивная яркость обеспечивает пользователям более адаптивный интерфейс отображения, где яркость автоматически адаптируется к среде пользователя.
Новые возможности в Windows 11
Реализация автоматической яркости была радикально упрощена для производителей оборудования, желающих интегрировать световые датчики в Windows 11 по новой парадигме, с разбитой на сегменты кривой отклика на внешний свет (ALR). Дополнительные сведения см. в разделе Изменения кривой отклика внешнего света для Windows 11.
Новый метод не зависит от предыдущей кривой люкс-в-яркость, настраиваемой оригинальным производителем оборудования. Кривая по умолчанию является более стабильной и надежной, а также упрощает интеграцию.
Страницы параметров содержат новые визуальные элементы. Обновления страницы параметров отображения отмечены в этой статье. Существует переключатель пользователя для управления адаптивной яркостью содержимого (CABC).
Следующие улучшения в Windows 10 версии 1903 (19H1) по-прежнему доступны:
- Автоматическая яркость включена по умолчанию
- Пользователи могут управлять яркостью с помощью ползунка центра уведомлений
- Параметры конфигурации реестра адаптивной яркости
Оптимизация уровней и переходов яркости дисплея
Количество уровней яркости, предоставляемых устройством отображения, важно. Возможны два подхода:
- Процентная регулировка: управление яркостью с использованием процентных значений, поддерживающее 101 уровень управления подсветкой.
- На основе нит (рекомендуется): управление яркостью с использованием значений в нитах позволяет детально контролировать уровни подсветки. И поэтому обеспечивает очень гладкие и точные переходы яркости.
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)
- Незначительные изменения в яркости, заметные в условиях слабого освещения
Чтобы устранить эти проблемы, реакция на внешнее освещение была изменена на использование кривой, разделенной на сегменты. Значения по умолчанию для сопоставления диапазонов lux и процентов яркости экрана показаны в таблице ниже. Изготовители оборудования могут отказаться от сегментированного кривого с помощью параметров настройки и использовать старую кривую.
Ведро | Min Lux | Макс Lux | Процент |
---|---|---|---|
1 | 0 | 10 | 10 |
2 | 5 | 50 | 25 |
3 | 15 | 100 | 40 |
4 | 60 | 300 | 55 |
5 | 150 | 400 | 70 |
6 | 250 | 650 | 85 |
7 | 350 | 2000 | 100 |
8 | 1000 | 7000 | 115 |
9 | 5000 | 10 000 | 130 |
На следующем рисунке сравниваются изменения кривой ALR по умолчанию из Windows 10 с Windows 11. Пример кривой по умолчанию находится слева, а сегментированная кривая по умолчанию для Windows 11 находится справа. Приведенные ниже кривые представляют собой только примеры кривых, которые можно задать как значения по умолчанию. Фактическая кривая по умолчанию для устройства зависит от ряда факторов и может отличаться в зависимости от производителя устройства.
Заметка
Системы, обновляющиеся с Windows 10 до Windows 11: нет изменений в оборудовании или встроенном ПО за пределами существующих требований к адаптивной яркости Windows 10, это внутренние изменения в Windows 11. Существующие системы с поддержкой адаптивной яркости Windows 10 будут испытывать новую сегментированную кривую при обновлении до Windows 11.
Обзор функции сегментированной автоматической регулировки яркости
Чтобы уменьшить частые колебания яркости дисплея в ответ на частые колебания показаний датчика внешней освещенности, мы ввели автояркость с ведрами. Диапазон значений люкс сопоставляются с одним целевым процентным значением яркости. Затем яркость дисплея переходит в целевое процентное значение. На DXGK_BRIGHTNESS_INTERFACE_2 устройствах, основанных на интерфейсе, целевой процент используется в качестве значения. На DXGK_BRIGHTNESS_INTERFACE_3 устройствах на основе интерфейса целевой процент преобразуется в соответствующее значение nits и используется. На основе наших экспериментов в различных условиях освещения диапазоны освещенности подразделяются на семь разных перекрывающихся категорий и назначаются соответствующие целевые уровни яркости дисплея. Чтение из ALS сопоставляется с целевой яркостью с помощью этой таблицы поиска. Контейнеры вводят необходимый эффект гистерезиса, который предотвращает колебания яркости дисплея при незначительных изменениях в показаниях ALS. Перекрывающиеся блоки помогают обеспечить плавный переход между ними при значительных изменениях показаний ALS.
Автоматическая яркость с градациями всегда начинается со второй категории, 55%, как целевая яркость дисплея, так как это наиболее распространенные условия освещения, которые испытывают пользователи. По мере изменения яркости целевой переход переходит к соответствующему более высокому или нижнему сегменту. Ползунок анимируется в ответ на переходы контейнеров.
Ниже приведен пример последовательности событий с кривой ALR в папке "Входящие":
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 люкс, устройство переходит во второй отсек, так как 200 люкс превышает максимальное значение люкса первого отсека.
Сценарии на открытом воздухе
Некоторые устройства, измеряющие яркость в нитах, поддерживают расширенные диапазоны. Это означает, что яркость может превышать 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.
Ключ | Формат | Употребление |
---|---|---|
ВерхняяЯркостьГистерезисЛут | REG_SZ | LUT для порога гистерезиса для верхней границы яркости. Пример: "10000:50000,20000:40000,50000:10000" представляет LUT, определяемый (вход 10000 миллинитов, гистерезис 50000 миллинитов), (20000, 40000) и (50000, 10000) в этом конкретном порядке. |
LowerBrightnessHysteresisLut | REG_SZ | LUT для порога гистерезиса яркости нижней границы. |
Переходы яркости для пользовательской кривой ALR в Windows 11
Ключ | Формат | Употребление |
---|---|---|
MinBrightnessTransitionNitDelta | REG_DWORD | Минимальная разность нит, необходимая для активации перехода яркости, определенного в миллинитах |
Интервал перехода яркости по умолчанию | REG_DWORD | Внутреннее время перехода яркости по умолчанию между двумя точками перехода, определенными в миллисекундах |
Интервал перехода к минимальной яркости | REG_DWORD | Минимальное время перехода яркости между двумя точками перехода, определенными в миллисекундах |
Интервал макс. яркости перехода | REG_DWORD | Максимальное время перехода яркости между двумя точками перехода, определенными в миллисекундах |
Тестовые случаи
В этом разделе описывается тестирование датчика внешнего света.
Калибровка ALS
Убедитесь, что датчик освещения окружающей среды правильно отсортирован для заданного набора внешних огней. Убедитесь, что показания датчика люкс являются точными.
Калибровка ALS применяется к
Все системы, поддерживающие адаптивную яркость
Настройка и инструменты калибровки ALS
- Управляемый (с возможностью регулировки яркости) источник света, способный создавать различные уровни освещенности
- Люксметр измеряет свет в люксах
- MonitorBrightnessApp или SensorExplorer для визуализации значений, сообщаемых датчиком внешнего света
Процедура калибровки ALS
- Установите световый метр рядом с устройством. Метр света должен быть как можно ближе к датчику внешнего света, не взаимодействуя с ним.
- Запустите MonitorBrightnessApp
- В темной комнате используйте источник света для изменения уровня окружающего света на разные уровни люкса
- Считывайте люксметр и значение, указанное MonitorBrightnessApp. Значения должны совпадать
Варианты теста калибровки ALS
- Используйте различные типы управляемых огней, таких как лампы накаливания, CFL и светодиодные
- Использование разных углов
Оценка калибровки ALS (успех или неудача)
Значения люкса, сообщаемые MonitorBrightnessApp, должны совпадать со значениями, сообщаемыми световым счетчиком.
Заметки о калибровке ALS
Обратитесь к изготовителю оборудования датчика, чтобы понять, как выполнить калибровку датчика.
Степень детализации ALS
Убедитесь, что изменения датчика окружающего света являются детализированными и происходят без задержки.
Уровень детализации ALS применяется к
Все системы, поддерживающие адаптивную яркость
Инструменты и настройка уровня детализации ALS
- Используйте источник света с управляемым диммером, чтобы тонко регулировать окружающий свет. Источник света должен иметь возможность плавно раздувать свет вверх и вниз.
- Используйте MonitorBrightnessApp в папке BrightnessTests, чтобы визуализировать ответ датчика внешнего освещения.
Процедура тестирования гранулярности ALS
- В темной комнате используйте светорегулятор, чтобы плавно регулировать уровень света в большую и меньшую стороны.
- Используйте MonitorBrightnessApp для визуализации отклика датчика внешнего освещения. Ответ должен соответствовать изменениям, примененным к теммеру.
Оценка детализации ALS (успешно или неудачно)
Ответ датчика окружающего света должен точно соответствовать изменениям, примененным к теммеру. Линейное изменение диммера должно привести к линейной реакции от датчика окружающего света. Ответ ALS должен не быть сдержанным. Изменение диммера должно сразу отображаться в MonitorBrightnessApp без задержки.
Заметки о градации и сортировке ALS
Обратитесь к изготовителю оборудования датчика, чтобы понять, как можно сглаживать переходы датчика окружающей среды и как можно уменьшить задержки.
Переходы в спящий режим
Убедитесь, что датчик внешнего света по-прежнему работает при выходе из сна или при открытии крышки.
Переходы в спящий режим применяются к
Все системы, поддерживающие адаптивную яркость
Настройка и средства перехода в спящий режим
- Используйте источник света, чтобы включать и выключать окружающее освещение.
- Используйте MonitorBrightnessApp в папке BrightnessTests, чтобы визуализировать ответ датчика внешнего освещения.
Процедура тестирования переходов в спящий режим
- В темной комнате переключите устройство или откройте крышку.
- Используйте MonitorBrightnessApp для визуализации чтения датчика внешнего света. Убедитесь, что датчик считывает низкое значение lux.
- Оставьте приложение MonitorBrightnessApp работать в течение следующих шагов.
- Закройте крышку или отключите устройство
- Переключите свет, убедитесь, что внешний свет яркий
- Откройте крышку или включите устройство.
- Подключитесь к рабочему столу и просмотрите значение в MonitorBrightnessApp. Значение люкса должно немедленно отражать фактический внешний свет.
Оценка переходов в спящий режим (зачет или незачет)
Датчик внешнего света должен отправлять показание при выходе из подключенного режима ожидания или при открытии крышки.
Заметки о переходе в спящий режим
Обратитесь к изготовителю оборудования датчика, чтобы понять, как можно исправить датчик внешнего света.
Гладкие переходы
Убедитесь, что панель отображения плавно изменяет яркость.
Плавные переходы применяются к
Все системы, поддерживающие адаптивную яркость
Инструменты и настройки для плавных переходов
- Используйте скрипт BrightToDim.ps1, найденный в папке BrightnessTests, для линейного увеличения яркости вверх и вниз. Переключите устройство на яркость вручную. Сценарий будет уменьшать яркость экрана от 100 до 0.
- Необязательно. Используйте метр яркости (ниты) для измерения яркости экрана
Процедура тестирования с плавными переходами
- Убедитесь, что на экране отображается как можно больше белого цвета. Например, откройте блокнот и разверните его на полный экран.
- Запустите скрипт BrightToDim.ps1 и просмотрите поведение экрана. Экран должен переходить как можно более гладко, без каких-либо переходов яркости.
Оценка плавности переходов (зачет или незачет)
Яркость экрана должна плавно переходить вверх и вниз, не должно быть никаких видимых переходов в яркости.
Заметки об плавном переходе
Обратитесь к изготовителю оборудования, чтобы понять, как можно сгладить изменения яркости панели отображения.
См. также
- Справочник по драйверам устройств датчика
- Руководства по компоненту датчика освещенности
- Обзор модели универсального драйвера датчика
- примеры драйверов датчиков Windows