共用方式為


調適型亮度

調適型亮度是由系統自動設定的螢幕亮度,以響應環境光感測器讀數。 調適型亮度為使用者提供更響應的顯示體驗,其中亮度會自動適應用戶的環境。

Windows 11 的新功能

  • 自動亮度的實作已徹底簡化,OEM 希望使用新的範例、貯體化環境光線回應 (ALR) 曲線,將光感測器整合到 Windows 11 中。 如需詳細資訊,請參閱 Windows 11 的環境光線回應曲線變更。

  • 新的方法不依賴先前 OEM 可設定的 lux-to-brightness 曲線。 默認曲線更穩定且可靠,而且更容易整合。

  • 設定 頁面有新的視覺效果。 本文說明 更新 [顯示設定] 頁面。 內容調適型亮度控件 (CABC) 有使用者切換。

Windows 10 版本 1903 (19H1) 中的下列改善仍在進行中:

  • 默認會啟用自動亮度
  • 用戶可以使用控制中心滑桿來控制亮度
  • 調適型亮度登錄設定參數

優化顯示亮度步驟和轉換

顯示裝置公開的亮度等級數目很重要。 有兩種方法是可能的:

  1. 百分比型:使用百分比值控制亮度,支援 101 個層級(零到 100 個)的反光控制。
  2. 以 Nits 為基礎的 (建議):使用 nits 值控制亮度允許微調的回光等級控制。 因此,啟用非常順暢且精確的亮度轉換。

Windows 會偵測顯示驅動程式所公開的亮度介面類型,並選取最適合的介面。 如果顯示驅動程式只公開DXGK_BRIGHTNESS_INTERFACE_2介面,系統會使用百分比值來控制亮度。 如果顯示驅動程序公開DXGK_BRIGHTNESS_INTERFACE_3介面,Windows 10 版本 1809 和更新版本會使用 nits 值控制亮度。 下層 Windows 版本會忽略DXGK_BRIGHTNESS_INTERFACE_3介面。 如果顯示驅動程序公開DXGK_BRIGHTNESS_INTERFACE_2和DXGK_BRIGHTNESS_INTERFACE_3介面,Windows 10 版本 1809 和更新版本會使用 nits 值控制亮度。 下層 Windows 版本會使用百分比值來控制亮度。

亮度和顯示考慮

如果系統透過顯示磁碟驅動器公開 DXGK_BRIGHTNESS_INTERFACE_3 介面,支援在nits中設定亮度,則應該正確校正顯示器。 校正應以各種強度執行,方法是在顯示白色背景時,測量在顯示器的不同位置使用高品質 nits 計量的 nits 值。 測量顯示器亮度的工具稱為亮度計量或亮度計,可供從電子設備廠商和在線零售商購買。

必須仔細優化顯示實作。 具體而言:

  • 確定顯示器能夠在所有可存取的亮度等級之間順暢地調暗。
  • 應公開足夠的顯示器亮度等級,以確保調暗順暢。 建議至少101個層級。

使用 nits 值控制亮度

從 Windows 10 版本 1809 開始,系統會在顯示驅動程式公開 DXGK_BRIGHTNESS_INTERFACE_3 介面的裝置上使用 nic 來控制亮度。 尼特(每平方米罐頭)是一個國際單位(SI)單位的亮度單位。 當裝置承受正確校正的顯示器和正確校正的感測器時,亮度控制應該會立即運作。 這些裝置上不需要任何 ALR 曲線。

針對這些系統,光線感測器和顯示器的校正十分重要。 Windows 10 版本 1809 容許這些系統的製造程式期間可能發生的小型錯誤。 元件、玻璃透明度和類似因素的放置可能會極大地影響 lux 和 nits。 因此,對 nits 型亮度系統的校正應該至少完成一次,最後的尺寸設計,而不是對開發尺寸進行校正,並將結果套用至最終的尺寸。

每個裝置在生產期間的每個裝置校正都會提供最佳的結束結果。

使用百分比值控制亮度

不支援 nits 亮度控件的系統必須支援百分比值。 在百分比系統上,需要反光百分比和亮度值之間的對應。 反光百分比與亮度值的對應應該遵循指數模式。 在以nits為基礎的亮度系統上,由於每個 nit 層級預期會校正,因此會提供收件匣百分比給nits對應。 此收件匣百分比與 nits 對應會使用人類視覺和色彩科學研究來提供感知線性亮度滑桿。 只要依DXGK_BRIGHTNESS_INTERFACE_3所述正確校正 nit 水準,零%和 1% 之間的感知亮度差異會自動等於 1% 和 2% 之間的感知亮度差異等等。

人類視覺對低光等級螢幕亮度輸出的小變化更為敏感,因此應將更多的反光等級配置到較低的亮度範圍,以容納更順暢的轉換。 例如,1% 到 2% 的尼茨差異應該小於 10% 和 11% 的差異。 這表示 50% 的螢幕最大亮度不會對應到 50% 的反光等級。

對於可接受的用戶體驗,最低亮度層級(0%)必須產生低但可讀取的顯示器。 當使用者將亮度設定為 0% 的裝置上,將該值對應到 0 nits 的裝置上時,使用者可能會陷入無法理解的情況,因為無法再看到螢幕的亮度。 畫面必須足夠明亮,且為 0%, 使用者才能與顯示器上的 UI 互動。 在支援DXGK_BRIGHTNESS_INTERFACE_3介面的裝置上,Windows 會自動限制為至少 5 個 0%。

Windows 11 的環境光線回應曲線變更

對於調適型亮度的 Windows 10 實作提出了一些疑慮:

  • 環境光線感測器讀數不佳,特別是在非常黑暗或非常明亮的環境中
  • 顯示無法適應每個百分比或nits-value的面板
  • 難以找出最佳的 lux 到 nits 對應

這些考慮會導致:

  • 由於環境光線感測器不準確,顯示器亮度持續波動(ALS)
  • 在低光源環境中突出的尼茨略有變化

為了解決這些問題,我們已將環境光線回應變更為貯體曲線,如下圖所示。 OEM 可以透過自定義選項退出退出貯體曲線。

下圖比較從 Windows 10 到 Windows 11 的預設 ALR 曲線變更。 默認曲線的範例位於左側,而 Windows 11 的貯體化預設曲線則位於右側。 下面說明的曲線只是可設定為預設值的曲線範例。 裝置的實際預設曲線取決於許多因素,而且可能會因裝置製造商而有所不同。

Two charts comparing changes to the default ALR Curve.

注意

從 Windows 10 升級至 Windows 11 的系統:現有 Windows 10 調適型亮度需求以外的硬體或韌體沒有變更,這些是 Windows 11 的內部變更。 現有的 Windows 10 調適型亮度系統會在更新至 Windows 11 時體驗新的貯體曲線。

貯體自動亮度功能概觀

為了減少頻繁的顯示器亮度波動,以回應 ALS 的變動讀數,我們引進了貯體自動亮度。 lux 值的範圍會對應至單一目標亮度百分比值。 然後顯示亮度會轉換為目標百分比值。 在 DXGK_BRIGHTNESS_INTERFACE_2 介面型裝置上,目標百分比會如同使用。 在 DXGK_BRIGHTNESS_INTERFACE_3 介面型裝置上,目標百分比會轉換成對應的nits值,並使用。 根據我們在各種光源條件下的實驗,lux 範圍會分割成七個不同的重疊貯體,並指派對應的顯示亮度目標。 ALS 的讀數會使用此查閱數據表對應至目標亮度。 貯體引進必要的歇斯底效應,可防止在ALS讀數中發生非重大變更的顯示亮度波動。 當ALS讀取廣泛變更時,重迭貯體有助於在貯體之間順暢地轉換。

貯體自動亮度一律從第二個貯體開始,55% 的目標顯示器亮度,因為這是最常見的照明條件用戶體驗。 當亮度變更時,目標轉換會移至對應的較高或較低貯體。 滑桿會在回應貯體轉換時產生動畫效果。

以下是包含收件匣貯體 ALR 曲線的事件範例序列:

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

BucketedALRCurve 會在第二個貯體中啟動,並將目標設為 55%。;感測器報告 40 lux;感測器報告 90 lux;感測器報告 40 lux;感測器報告 90 lux;感測器報告 20 lux;BucketedALRCurve 會從第二個貯體移至第一個貯體。 亮度目標現在是 40%;使用者看到亮度下降 15%;感測器報告 60 lux;感測器報告 90 lux;感測器報告 40 lux;感測器報告 200 lux;BucketedALRCurve 會從第一個貯體移至第二個貯體。 亮度目標現在是55%。 使用者看到亮度上升 15%

針對這個序列,即使環境光線經常波動,亮度還是整體上升和下降兩次。

裝置會在第二個貯體中啟動。 當感測器從 40-90 lux 波動時,自 40 和 90 lux 都屬於第二個貯體以來,亮度百分比永遠不會變更。

當感測器報告 20 lux 的樣本時,裝置會移至第一個貯體,因為 20 lux 不再位於第二個貯體中。 然後,針對幾個 lux 值,亮度會穩定。 請注意,90 和 40 lux 值不會將亮度移回第二個貯體,因為這些值存在於第一個貯體中。

當感測器報告 200 lux 的樣本時,裝置會移至第二個貯體,因為 200 lux 超過第一個貯體的最大 lux 值。

戶外案例

某些nits裝置支援提升範圍。 這表示如果自動亮度允許,亮度可能會超過100%。 藉由設定超過 100% 的第六個和第七個貯體,當使用者進入支援提升範圍的裝置上直接陽光時,就會觸發這些貯體。

極深的案例

許多感測器無法妥善處理非常黑暗的案例,傳送變動的 ALS 值。 由於最低貯體高達 100 lux,因此亮度不應在這些黑暗環境中經常變更。

自動亮度登錄機碼

本節所述的 OEM 自定義專案與 Windows 11 中的下列登錄機碼有關:

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

索引鍵 格式 使用方式
AutobrightnessLuxToNitsCurve REG_SZ ALS lux 讀數的 LUT 以目標 nits 曲線為目標。 範例:“1:8,2:25,5:35,10:60,20:90,40:90,100:130 ,400:170,700:200,2000:400,3000:500,4500:700”

Windows 11 中自定義 ALR 曲線的亮度遲滯

根據預設,大部分系統都會在 Windows 11 中利用貯體化自動亮度曲線。 默認貯體曲線不會使用遲滯和轉換。 當 OEM 選擇使用自訂的 ALR 曲線時,應該使用下列參數。

索引鍵 格式 使用方式
UpperBrightnessHysteresisLut REG_SZ 上限亮度遲滯閾值的 LUT。 範例:“10000:50000,20000:40000,50000:10000”代表所定義的 LUT(輸入 10000millinits, 50000米尼茨、(20000、40000)和(50000,1000000)以該特定順序排列
LowerBrightnessHysteresisLut REG_SZ 下限亮度遲滯閾值的 LUT。

Windows 11 中自定義 ALR 曲線的亮度轉換

索引鍵 格式 使用方式
MinBrightnessTransitionNitDelta REG_DWORD 觸發在 millinits 中定義的亮度轉換所需的最小 nit 差異
DefaultBrightnessTransitionInterval REG_DWORD 以毫秒為單位定義的兩個轉換點之間的預設亮度轉換內部時間
MinBrightnessTransitionInterval REG_DWORD 以毫秒為單位定義的兩個轉換點之間的最小亮度轉換內部時間
MaxBrightnessTransitionInterval REG_DWORD 以毫秒為單位定義的兩個轉換點之間的最大亮度轉換內部時間

測試案例

本節討論測試環境光線感測器。

ALS 校正

請確定環境光線感測器已針對一組指定的環境光線正確校正。 確認感測器 lux 讀數正確無誤。

ALS 校正適用於

支援調適型亮度的所有系統

ALS 校正設定和工具

  • 能夠產生不同豪華等級的可控制(變暗)光源
  • 以 lux 測量光線的光計量
  • MonitorBrightnessAppSensorExplorer ,以可視化環境光線感測器所報告的值

ALS 校正測試程式

  1. 設定裝置旁的淺色計。 光計應該盡可能接近環境光線感測器,而不會與它進行負面互動。
  2. 啟動 MonitorBrightnessApp
  3. 在深色房間中,使用光源將環境光線層級變更為不同的 lux 層級
  4. 讀取 Lux 計量和 MonitorBrightnessApp 所報告的值。 值應該相同

ALS 校正測試變化

  1. 使用不同類型的可控制燈,例如白灰燈、CFL 和 LED
  2. 使用不同的角度

ALS 校正評估 (通過或失敗)

MonitorBrightnessApp 所報告的 lux 值應該與光線表所報告的值相同。

ALS 校正分級注意事項

請與您的感測器硬體製造商合作,瞭解如何校正感測器。

ALS 粒度

請確定環境光線感測器的變更已精細,且不會延遲

ALS 粒度適用於

支援調適型亮度的所有系統

ALS 數據粒度設定和工具

  • 使用具有可控制暗色器的光源,以細化上下環境光線。 光源應該能夠順利向上和向下遞增光線。
  • 使用 BrightnessTests 資料夾中的 MonitorBrightnessApp,將環境光線感測器回應可視化。

ALS 數據粒度測試程式

  1. 在黑暗的房間裡,使用變暗器順暢地向上和向下坡道光線層級
  2. 使用 MonitorBrightnessApp 將環境光線感測器回應可視化。 回應應符合套用至暗灰色的變更。

ALS 資料粒度評估 (通過或失敗)

環境光線感測器回應應與套用至暗灰色的變更緊密相符。 變暗器的線性變更應該會產生來自環境光線感測器的線性回應。 ALS 回應不應謹慎。 在 MonitorBrightnessApp 中,應立即顯示變暗器變更,且不會延遲。

ALS 數據粒度分級注意事項

請與您的感測器硬體製造商合作,以了解環境光感測器轉換如何平滑,以及如何減少延遲。

睡眠轉換

請確定環境光線感測器在出睡時或蓋子打開時仍然正常運作。

睡眠轉換適用於

支援調適型亮度的所有系統

睡眠轉換設定和工具

  • 使用光源來開啟和關閉環境光線。
  • 使用 BrightnessTests 資料夾中的 MonitorBrightnessApp,將環境光線感測器回應可視化。

睡眠轉換測試程式

  1. 在黑暗的房間里,開啟或開啟蓋子。
  2. 使用 MonitorBrightnessApp 將環境光線感測器讀數可視化。 請確定感測器讀取低 lux 值。
  3. 讓 MonitorBrightnessApp 在整個步驟中保持執行
  4. 關閉蓋子或關閉裝置
  5. 開啟光線,確定環境光線明亮
  6. 開啟蓋子或開啟裝置
  7. 連線 桌面,並觀察 MonitorBrightnessApp 中的值。 lux 值應該會立即反映實際的環境光線。

睡眠轉換評估 (通過或失敗)

環境光線感測器應該在結束連接的待命或開啟蓋子時傳送樣本讀取。

睡眠轉換分級注意事項

請與您的感測器硬體製造商合作,以瞭解如何修正環境光線感測器。

平滑轉換

請確定顯示面板會順暢地變更亮度。

適用於平滑轉換

支援調適型亮度的所有系統

順暢的轉換設定和工具

  • 使用 BrightnessTests 資料夾中找到的 BrightToDim.ps1 腳本,以線性方式向上和向下增加亮度。 將您的裝置切換為手動亮度。 腳本會將螢幕亮度從 100 提高到 0。
  • 選擇性:使用亮度 (nits) 計量來測量螢幕亮度

平滑轉換測試程式

  1. 請確定畫面顯示盡可能白,例如,開啟 記事本 並在畫面上最大化。
  2. 啟動 BrightToDim.ps1 腳本並觀察螢幕行為。 屏幕應該盡可能順暢地轉換,而不會有任何亮度的跳躍。

平滑轉換評估 (通過或失敗)

螢幕亮度應該會順暢地上下轉換,亮度不應該有任何可見的跳躍。

平滑轉換分級注意事項

請與您的硬體製造商合作,以了解顯示器面板亮度變更如何順暢。

另請參閱