StaZhu / enable-chromium-hevc-hardware-decoding

A guide that teach you enable hardware HEVC decoding & encoding for Chrome / Edge, or build a custom version of Chromium / Electron that supports hardware & software HEVC decoding and hardware HEVC encoding.
MIT License
1.15k stars 56 forks source link

HEVC硬解在双显卡笔记本上始终使用集显 #33

Closed ayanamist closed 1 year ago

ayanamist commented 1 year ago

不知道是不是合适在这里问,先尝试一下。 我的笔记本是ThinkPad P1 Gen3,是Quadro T1000独显直出和Intel i7-10750H的集显,Win10 21H2平台,Chrome 106.0.5249.62 (Official Build) (64-bit) (cohort: Stable Installs & Version Pins) Chrome打开了flag,确认HEVC是走硬解的。 播放 https://www.bilibili.com/video/BV11e4y1r7zM 这个视频4K版本,能看到编码用的也是hev1 image 使用外接显示器在Chrome里全屏播放,发现此时解码是用集显在解,图里Video Decode达到80%,同时也有30%左右的3D消耗 image 而独显只有3D这一项的消耗,其余都是0 image


把视频下载下来用PotPlayer播放: 放外接显示器上,能看到解码全部用了独显,PotPlayer的设备也是独显 image image image 换到笔记本内置显示器上,能看到解码全走了集显,PotPlayer的设备也是集显 image image image


所以应该是可以在外接显示器上播放的时候,使用独显进行解码的,所以比较奇怪Chrome的行为。

StaZhu commented 1 year ago

你在NVIDIA控制面板里配的默认显卡是哪个呀?

ayanamist commented 1 year ago

image

不知道是1那里生效还是2那里生效?

1的话是空的 image

2的话是默认值,看这意思是走集显? image

下拉列表里没有PotPlayer,也没办法把chrome删掉 image

然后我把这里改成了独显,并Apply了,并把Chrome整个进程全部关掉再重新打开,但依然是走集显,就很迷 image


edit:看来是1那里生效,这样改了后,就走独显了 image

如果选 Let Windows Decide 那还是继续用集显,哪怕是外接显示器,看来是Windows的锅……

StaZhu commented 1 year ago

image

不知道是1那里生效还是2那里生效?

1的话是空的 image

2的话是默认值,看这意思是走集显? image

下拉列表里没有PotPlayer,也没办法把chrome删掉 image

然后我把这里改成了独显,并Apply了,并把Chrome整个进程全部关掉再重新打开,但依然是走集显,就很迷 image

直接把2改成独显试试呢?

我没有既有独显又有核显的Windows笔记本。 我倒是有一个台式机既有核显又有独显,根据我观察的现象是,hdmi插到主板,chrome就走核显,hdmi插到显卡,chrome就走独显。 但是你是笔记本,只有一个hdmi输出。。。

chrome media模块没有做显卡选择的处理,所以不清楚这块选择的逻辑是chrome gpu模块做的还是os自动做的。。。

ayanamist commented 1 year ago

嗯,我刚才edit了,看来你是看的邮件内容。 看来是PotPlayer自己实现的高级能力,并不是个通用能力。