Color 管線與 Dataspace:色域、Transfer 與渲染一致性
Android 在 HWC2 中規範了 Dataspace 與 ColorMode。每個 Layer 可以聲明 Dataspace(包含色域與傳輸曲線,例如 SRGB, DISPLAY_P3, BT2020, HLG, PQ),顯示設備具有支持的 ColorMode 列表。SF與 HWC 協同選擇最合適的模式並儘量避免多次色彩轉換。
挑戰:
- 混合不同色域與傳輸的 Layer(例如 sRGB UI + P3 圖片 + HDR 視頻)時,是否統一到顯示的工作色域。
- HWC 能否在硬件執行
CSC(Color Space Conversion),以及在哪一層執行(plane vs overall)。 - Gamma 與白點一致性,避免出現偏色或亮度異常。
建議:
- 對 UI 資源儘量統一 sRGB;廣色域內容(P3)明確標註
Dataspace,避免錯誤假設。 - HDR 內容確保元數據正確(MaxCLL/MaxFALL、Mastering Display 等),並選擇合適的 EOTF(PQ/HLG)。
- 在 HWC 不支持複雜 CSC 時,考慮 GPU 端進行預合成,降低色彩不一致風險。
調試:
- 使用
dumpsys SF--color查看顯示模式與 Dataspace 協商結果。 - 通過測試圖樣驗證色域覆蓋與灰階響應,確保 HWC 色彩管線正確。
- 注意系統與應用層的
force sRGB或wide color gamut開關對管線的影響。