Re: [閒聊] HDR+Gsync 到底是誰的鍋

作者: alvinli (alvin)   2020-03-28 17:17:07
一個做過GPU, 待過螢幕廠, 也待過微軟windows team的人路過說明一下...
剛你按下Windows HDR模式的時候,
基本上Windows是告訴顯示卡要從標準RGB buffer切換成HDR用的video buffer,
顯示卡如果從螢幕EDID上讀到他有支援這個功能的話就會開始:
1.準備新的video/frame buffer
2.跟螢幕的HDR晶片溝通
3.跟螢幕HDR晶片溝通完後如果成功就跟windows報是否成功
3a.失敗的話當然就跟user說失敗了
4.成功後windows準備buffer的時候就會帶著HDR需要的參數給顯示卡(還有DRM資訊)
5.顯示卡就會把這個格式丟給螢幕
HDR這個技術本身重點在於色階壓縮,
將畫面過曝跟過暗的色階曲線壓成大致是平均分配的狀態,
所以可以是多個frame合成, 也可以是單frame用不同frequency產生,
看HDR晶片怎麼處理還有參數怎麼帶這樣.
G-sync or whatever sync就不是了, 那是遊戲,顯卡,螢幕之間的事情.
顯卡從螢幕EDID上得知它支援G-sync, 顯卡自己也打開G-sync支援的話,
顯卡就會報給應用程式說你可以開G-sync,
然後遊戲call的API就不會經過Windows了, 命令會直接到顯卡去,
(也不是完全不經過啦, 但總之OS不太會介入graphics API)
由顯卡負責跟螢幕溝通whatever sync要怎麼做,
顯卡就會跟螢幕協調出一個可行的frame輸出率.
當G-sync跟HDR都開的時候呢?
螢幕就要同時跟顯卡報HDR跟G-Sync的狀況,
前面說到HDR是關於色階壓縮,
所以基本上顯卡送過來的每個frame都會經過HDR晶片處理,
做得好一點的, 會同時考慮前後frame一致性, 差一點的大概就每張各自算各自的.
G-sync就不是HDR這顆晶片處理了,
螢幕需要視HDR處理的狀況反映在丟回去給顯示卡的參數中,
簡單的說就是個比較複雜的流程,
當解析度很高更新率很高的時候狀況更是艱難,
因為高解析度時每個frame處理的時間會拉長, 但你設定的高更新率又讓它不能太長.
顯卡的話, 它需要處理HDR protected content, 需要計算自己frame輸出率,
需要配合螢幕的能力調整輸出率, 大概是這樣,
基本上就是螢幕跟它說甚麼它就配合處理.
但PlayReady (HDR protected content, DRM處理)這邊就有個變數了,
這個基本上是Windows會決定甚麼時候需要reauthenticate,
這個authenticate的時間我記得規格上好像是7ms內要完成(不確定, 要翻spec看看)
而這個authentication大概固定每幾秒就可能需要做一次.
但Windows不會去管GPU有多忙, 那是GPU需要去處理的.
所以如果某段時間內GPU太忙, PlayReady authenticate等了比較長的時間,
或是線材不好導致PlayReady authenticate延遲不穩定或太長的話,
GPU這邊只能根據實際狀況調整, 萬一某一次authenticate超過7ms,
那可能就會有幾個ms的時間是沒有內容輸出的(因為authenticate失敗了),
需要靠螢幕上的HDR晶片去補, 或是顯示卡的其他技術去補.
或者說, PlayReady authenticate的時間也影響了輸出率,
例如如果每次authenticate的時候都等了6ms,
(無論原因是是線材不好還是GPU過載還是甚麼其他原因)
那你當時的畫面輸出率就會被鎖在166張每秒,
但GPU仍然還需要花一點時間去畫圖,
而的螢幕可能最高能7ms收一次(144Hz的情況),
在沒有G-sync認證的螢幕上, 此時你的畫面就很高機率會破掉.
(HDR處理需要時間, 螢幕不可能真的7ms收一次, 一定是更短的時間要收到)
這樣不知道你會覺得是誰的問題?
我是覺得螢幕是兇手的機率比較大啦...
※ 引述《westwade (秋思化刃)》之銘言:
: 月初入手XV272U P
: 搭配顯卡技嘉 Windforce 2070S O8G
: 想說終於可以HDR+Gsync來享受一下
: 然後過程中各種問題
: 簡單說HDR+Gsync下
: 開啟HDR模式會有機會失敗 要一直重開
: 這問題經過各種爬文收集後
: 似乎是win10的問題
: 然後前幾天更新最新的驅動後
: 玩mhwi時發現居然各種破圖成一片亮光
: 不停測試後發現重啟HDR後就解決了
: 講這麼多只是好奇
: HDR會有這些問題 是
: 1.微軟做不好
: 2.NV驅動做不好
: 3.HDR技術不成熟
: 到底是誰的鍋XDD
:
作者: chenliyu0410 (膩魚)   2020-03-28 18:56:00
恩恩跟我想的差不多,先推不然別人以為我不懂
作者: coolnananana (海豹守護者)   2020-03-28 23:02:00
我原本吃完飯要打的,結果你先一步po了
作者: qazwsx855193   2020-03-28 23:40:00
你跟我想說的一模一樣 你是不是我同事
作者: is0975910361 (不要問很恐怖)   2020-03-28 23:55:00
趕快推文以免別人當我看不懂
作者: zebra978678s (HighDan)   2020-03-29 00:42:00
...跟我想的一樣 大家應該也一樣
作者: mrnegativetw (每天來點負能量)   2020-03-29 01:06:00
沒錯 我也是這樣想的
作者: andrew000129   2020-03-29 11:24:00
推專業
作者: Hurricaneger (褲襪脫落大尉)   2020-03-29 13:49:00
這問題用$$$$$$$$$$$$$解決就可以了,超簡單的。
作者: f12345678900 (旅行的意義)   2020-03-29 16:10:00
恩恩跟我想的差不多,先推不然別人以為我不懂w

Links booklink

Contact Us: admin [ a t ] ucptt.com