Подавляющее большинство современных ноутбуков оснащено процессорами от Intel вместе с интегрированной графикой, которая зачастую и выводит изображение на экран. В этом в общем-то никакой проблемы нет, более того — это позволяет отключать дискретную графику для экономии энергии, когда она не нужна. Однако Intel для последних поколений своих видеоадаптеров придумала «технологию энергосбережения дисплеев», которая сильно мешает работать с ноутбуком от аккумулятора.
Но на практике это зачастую не помогает: бывает, что яркость снова начинает автоподстраиваться после перезагрузки или после отключения от адаптера питания, или же просто уменьшается сама коррекция яркости, но полностью она не исчезает. Разумеется, Intel знает об этой проблеме — о ней сообщают на форумах техподдержки еще с 2015 года, однако воз и ныне там, хотя за это время вышел не один десяток новых драйверов.
Но все же решение есть — нужно зайти в реестр, перейти по пути HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000 (в некоторых случаях 0001) и найти параметр FeatureTestControl. Теперь два раза кликните на него, переключитесь в 16-ричную систему исчисления и увеличьте параметр ровно на 10 (у меня было 8200 — то есть нужно написать 8210; следует понимать, что у вас значение может быть другим):
Все, теперь нужно перезагрузиться, после чего автоподстройка яркости перестанет работать, и на это указывает отсутствие ее настройки в Панели управления графикой Intel при выборе работы от аккумулятора:
Однако, это работает только до обновления графического драйвера, но на практике значение параметра FeatureTestControl при этом просто сбросится к дефолтным 8200, то есть нужно будет просто заменить его обратно на 8210. Костыль, скажете вы? Увы — да, ибо Intel самостоятельно решать проблему не хочет. С другой стороны, драйвера на графику от Intel выходят не очень часто, поэтому серьезных проблем с изменением значения быть не должно.
На этом инструкция закончена, но, думаю, у достаточного количества пользователей возник вопрос — почему это работает? Все просто — параметр FeatureTestControl по сути является двоичной строкой, где каждый бит связан с какой-то настройкой для графики от Intel. Технология энергосбережения дисплеев — это пятый бит с конца в этой строчке, и по умолчанию он равен 0 — то есть, чтобы ее отключить, нужно изменить этот бит на 1, что равносильно прибавлению к двоичной строке 10000. Однако в реестре значение записано в 16-ричной системе исчисления, и так как 100002=1016, нам просто нужно прибавить к значению в реестре 10.