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

作者: ARSENE2007 (Roger)   2020-03-29 19:12:41
補充一下alvinli大大的內容
(1)
電腦螢幕因為成本的關係, 不會像電視分多顆IC, 電腦螢幕主控同常只有
一顆"Scaler IC", 這顆IC的大致有的電路
(a)處理DP/HDMI高速介面輸入
(b)處理G-SYNC/FreeSync不規則timing control訊號,
同時也解決影像的放大/縮小的需求
(c)影像處理電路(ex:調整亮度/顏色/對比/SRGB/Gamma...等)<重點1>
這裡面包括處理HDR content的電路
(2)雖然FreeSync Premium Pro在網站上寫著同時支援FreeSync和HDR
參考AMD網站, https://tinyurl.com/rvjduu8
但這兩個功能在實做上是互相些牴觸的, 引用alvinli大大之前提到的內容
"HDR這個技術本身重點....所以可以是多個frame合成...."
HDR可以是多個frame合成,簡單來說需要把某一張frame存入Scaler內的DRAM,
下一張frame來的時候,再把存在DRAM中的frame拿出來一起做運算<重點2>
下面用一個很簡化的例子做比喻
FreeSync假設運作在144Hz, 也就是1秒內我們預期要有144個frame輸出,
這144個frame中, 假設第1個frame和第2個frame需要用剛提到<重點2>的方法
運算HDR, 就算Scaler IC能及時產生其餘142個frame, 這樣1秒內也只有143個
frame, 因為第1個但第2個frame必須一起運算才能產生一個新的frame
也就是FreeSync並不是運作在144Hz,而是143Hz
從這個非常簡化的例子就知道, FreeSync和HDR在實做上矛盾的地方,
業界常用的省成本偷吃步方法
<做法1>降低G_SYNC/FreeSync的頻率可變範圍,雖然還是可以超過60Hz
<做法2>使用<重點1>提到, 其他可以調整亮度/顏色/對比的電路來假裝成HDR
對於便宜的螢幕, 通常只會用<做法2>不會用<做法1>, 因為符合<做法1>的螢幕
可以賣比較貴的價格,
其實從巴哈姆特的一些討論文章
https://tinyurl.com/wph4oea 就可以看出業界使用偷吃步的端倪
XV272UP搭配螃蟹的Scaler IC https://i.imgur.com/GiUpEar.jpg
剛出貨時FreeSync和HDR不能同時開啟 ->
送修後更新韌體,變成號稱可以同時開啟FreeSync & HDR ->
有些網友反應更新韌體之後, 雖然看到osd顯示開啟FreeSync & HDR,
但畫面出現撕裂, 或HDR顯示的影像很怪/Youtubte HDR不能選
從這些症狀來看, 是不是使用類似<做法2>, 讓使用者以為同時開啟了
FreeSync & HDR, 但其實靠其他電路做出的效果, 就留給大家自行判斷了
※ 引述《alvinli (alvin)》之銘言:
: 一個做過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
: :

Links booklink

Contact Us: admin [ a t ] ucptt.com