Re: [闲聊] HDR+Gsync 到底是谁的锅

楼主: westwade (秋思化刃)   2020-03-30 10:29:47
※ 引述《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收一次, 一定是更短的时间要收到)
: 这样不知道你会觉得是谁的问题?
: 我是觉得萤幕是凶手的机率比较大啦...
看完两位大大的解释 还是有疑惑的地方
开启HDR画面偏灰白 查了原因是因为
萤幕以SDR输出HDR画面
但是萤幕可以单独设定HDR模式
另外测试似乎萤幕在HDR模式下输出SDR没影响
SDR画面在萤幕使用HDR和SDR差不多
所以总结问题就是
系统进入HDR 但是萤幕还在SDR
所以是在我推论情况是
1.从win10开启HDR模式 显卡和萤幕沟通时
机率把萤幕的HDR功能关闭
2.系统未进入HDR模式时 萤幕的HDR模式只是
写好玩 实际没效果 要等系统进入HDR
才会开启 然后因为
a.萤幕芯片太烂
b.显卡没跟萤幕讲清楚
c.系统没跟萤幕讲清楚
导致开启失败 要多try几次
除了2a外 似乎都不是萤幕的锅
而关于两位大大后面的论述场景
应该是HDR+Gsync会有不稳定现象
但是这边遇到的问题是进入就有机会失败
情况不太相同

Links booklink

Contact Us: admin [ a t ] ucptt.com