調適型亮度
調適型亮度是由系統自動設定的螢幕亮度,以響應環境光感測器讀數。 調適型亮度為使用者提供更響應的顯示體驗,其中亮度會自動適應用戶的環境。
Windows 11 的新功能
自動亮度的實作已徹底簡化,OEM 希望使用新的範例、貯體化環境光線回應 (ALR) 曲線,將光感測器整合到 Windows 11 中。 如需詳細資訊,請參閱 Windows 11 的環境光線回應曲線變更。
新的方法不依賴先前 OEM 可配置的光照度-亮度曲線。 默認曲線更穩定且可靠,而且更容易整合。
[設定] 頁面有新的視覺效果。 本文會指出 [顯示設定] 頁面的更新。 用戶可以切換內容調適型亮度控制(CABC)。
Windows 10 版本 1903 (19H1) 中的下列改善仍在進行中:
- 默認會啟用自動亮度
- 用戶可以使用控制中心滑桿來控制亮度
- 調適型亮度登錄設定參數
優化顯示亮度步驟和轉換
顯示裝置公開的亮度等級數目很重要。 有兩種方法是可能的:
- 百分比型:使用百分比值控制亮度,支援 101 個層級(零到 100 個)的反光控制。
- 以尼特為基礎的(建議):使用尼特值控制亮度,允許更精細地控制背光等級。 因此,實現非常順暢且精確的亮度過渡。
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 介面的裝置上使用尼特來控制亮度。 尼特(坎德拉每平方米)是光度的國際單位制(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 時,使用者可能會陷入無法解決的情況,因為無法再看到螢幕的亮度調節控件。 當畫面的亮度達到% 時,使用者才能與顯示器上的介面互動。 在支援 DXGK_BRIGHTNESS_INTERFACE_3 介面的裝置上,0% 在 Windows 會自動限制為至少 5 尼特。
Windows 11 的環境光線回應曲線變更
對於調適型亮度的 Windows 10 實作提出了一些疑慮:
- 環境光線感測器讀數不佳,特別是在非常黑暗或非常明亮的環境中
- 無法適應每個百分比或亮度值的顯示面板
- 難以找出最佳的 lux 到 nits 對應
這些考慮會導致:
- 由於環境光感測器不準確,顯示螢幕亮度持續波動
- 在低光源環境中,亮度值略有變化。
為了解決這些問題,環境光線回應已變更為使用分段曲線。 下表顯示 lux 區段與螢幕亮度百分比之間的預設數值對應。 OEM 可以透過自訂選項退出分層曲線,並使用較舊的曲線。
桶 | Min Lux | Max 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 | 10000 | 130 |
下圖比較從 Windows 10 到 Windows 11 的預設 ALR 曲線變更。 默認曲線的範例位於左側,而 Windows 11 的貯體化預設曲線則位於右側。 下面說明的曲線只是可設定為預設值的曲線範例。 裝置的實際預設曲線取決於許多因素,而且可能會因裝置製造商而有所不同。
注意
系統從 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 曲線的事件範例序列:
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}
鑰匙 | 格式 | 用法 |
---|---|---|
自動亮度LuxToNits曲線 | 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 曲線時,應該使用下列參數。
鑰匙 | 格式 | 用法 |
---|---|---|
上亮度滯後查找表 | REG_SZ | 上限亮度遲滯閾值的 LUT。 範例:“10000:50000,20000:40000,50000:10000”代表所定義的LUT(輸入10000毫尼特,滯後50000毫尼特)、(20000, 40000)和(50000, 100000)以該特定順序排列。 |
降低亮度遲滯查找表 | REG_SZ | 下限亮度遲滯閾值的 LUT。 |
Windows 11 中自定義 ALR 曲線的亮度轉換
鑰匙 | 格式 | 用法 |
---|---|---|
MinBrightnessTransitionNitDelta | REG_DWORD | 觸發亮度變化所需的最小亮度差異,定義於毫尼特(millinits)中。 |
預設亮度過渡時間間隔(DefaultBrightnessTransitionInterval) | REG_DWORD | 以毫秒為單位定義的兩個轉換點之間的預設亮度轉換內部時間 |
最小亮度轉換間隔 | REG_DWORD | 兩個轉換點之間的最小亮度轉換內部時間,以毫秒為單位定義 |
最高亮度過渡間隔 | REG_DWORD | 兩個轉換點之間以毫秒為單位定義的最大亮度變化內部時間 |
測試案例
本節討論測試環境光線感測器。
ALS 校正
請確定環境光線感測器已針對一組指定的環境光線正確校正。 確認感測器 lux 讀數正確無誤。
ALS 校正適用於
支援調適型亮度的所有系統
ALS 校正設定和工具
- 能夠產生不同照度等級的可調光光源
- 測量光線勒克斯的光度計
- MonitorBrightnessApp 或 SensorExplorer 來可視化環境光線感測器所報告的值
ALS 校正測試程序
- 將光度計放置在裝置旁邊。 光計應該盡可能接近環境光線感測器,而不會與它進行負面互動。
- 啟動 MonitorBrightnessApp
- 在暗房中,使用光的來源將環境光線層級變更為不同的照度層級。
- 讀取照度計和由 MonitorBrightnessApp 報告的值。 值應該相同
ALS 校正測試變異
- 使用不同類型的可控制燈,例如白灰燈、CFL 和 LED
- 使用不同的角度
ALS 校正評估 (通過或失敗)
MonitorBrightnessApp 所報告的 lux 值應該與光線表所報告的值相同。
ALS 校準分級注意事項
請與您的感測器硬體製造商合作,瞭解如何校正感測器。
ALS 粒度
請確保環境光感測器的改變具有細微的調整,且無延遲
ALS 粒度適用於
支援調適型亮度的所有系統
ALS 數據粒度設定和工具
- 使用具有可控制調光器的光源,以細微調整環境光線的亮暗。 光源應該能夠順利調整光線的亮度。
- 使用 BrightnessTests 資料夾中的 MonitorBrightnessApp,將環境光線感測器回應可視化。
ALS 粒度測試流程
- 在黑暗的房間裡,使用調光器順暢地調整光線亮度至需要的水平。
- 使用 MonitorBrightnessApp 將環境光感測器回應可視化。 回應應符合套用至調光器的變更。
ALS 粒度評估(通過或失敗)
環境光感測器的回應應該要緊密配合調光器所施加的變化。 調光器的線性變更應該會導致環境光感測器的線性回應。 ALS 回應應該 不要 謹慎。 在 MonitorBrightnessApp 中,調光器的變更應立即顯現,且不會延遲。
ALS 顆粒度分層注意事項
請與您的感測器硬體製造商合作,以了解環境光感測器轉換如何平滑,以及如何減少延遲。
睡眠階段轉換
請確定環境光線感測器在出睡時或蓋子打開時仍然正常運作。
睡眠轉換適用於
支援調適型亮度的所有系統
睡眠轉換設定和工具
- 使用光源來開啟和關閉環境光線。
- 使用 BrightnessTests 資料夾中的 MonitorBrightnessApp,將環境光線感測器回應可視化。
睡眠轉換測試程序
- 在黑暗的房間裡,開啟裝置或打開蓋子。
- 使用 MonitorBrightnessApp 將環境光線感測器讀數可視化。 請確定感測器讀取低 lux 值。
- 讓 MonitorBrightnessApp 在整個步驟中保持執行
- 關閉蓋子或關閉裝置
- 開啟光線,確定環境光線明亮
- 開啟蓋子或開啟裝置
- 連接到桌面並查看 MonitorBrightnessApp 中的值。 lux 值應立即反映實際的環境光照。
睡眠轉換評估 (通過或失敗)
環境光線感測器應該在退出連接待命狀態或打開蓋子時發送讀數樣本。
睡眠過渡檢查紀錄
請與您的感測器硬體製造商合作,以瞭解如何修正環境光線感測器。
平滑轉換
請確定顯示面板會順暢地變更亮度。
適用於平滑轉換
支援調適型亮度的所有系統
順暢的轉換設定和工具
- 使用 BrightToDim.ps1 腳本,可在 BrightnessTests 資料夾中找到,以線性方式向上和向下增加亮度。 將您的裝置切換為手動亮度。 腳本會將螢幕亮度從 100 提高到 0。
- 可選:使用亮度計(亮度單位 nits)來測量螢幕的亮度
平滑轉換測試程序
- 請確保螢幕顯示的白色面積盡可能大,例如,開啟 [記事本] 並將其在螢幕上最大化。
- 啟動 BrightToDim.ps1 文稿並觀察螢幕行為。 屏幕應該盡可能順暢地轉換,而不會有任何亮度的跳躍。
平滑轉換評估 (通過或失敗)
螢幕亮度應該會順暢地上下轉換,亮度不應該有任何可見的跳躍。
平滑轉換分級注意事項
請與您的硬體製造商合作,來了解如何使顯示面板的亮度調整變得順暢。