想简单聊一下笔记本的显卡切换

2022-04-27 23:09:03 +08:00
 icestraw
M1 系列笔记本的续航有目共睹,那是相当的长。在使用的过程中,我最大的感触是,在这一代的机型上,苹果解决了之前困扰我很久的问题:显卡切换。我对笔记本的需求并没有那么复杂,主要就是办公和打游戏,希望尽可能长的续航和较好的显卡。但是在 M1 以前相当长一段时间,笔记本的续航 /显卡性能 /兼容性对我似乎是一个无解的问题。在此把我使用中观察到的现象分享一二...

2013 年以前 Macbook:
苹果在此之前的 Macbook Pro 采用了 nvidia 独立显卡,并且提供了 intel/nvidia 切换选项,尝试兼顾笔记本的功耗与性能。但是此时切换独显 /核显的 mux 需要重启,在日常使用场景中极为不便。类似开会时暂时带电脑离开办公桌的场景需要用户手动重启电脑,这无疑会打断我的工作进度,因此我感觉这种功能聊胜于无。

2013-2019 年 Macbook:
苹果引入了新的 mux 技术,可以实现不让用户手动切换了,而是通过检测高性能图形 API 的调用随时调用独显。用户甚至有锁定电脑在独显(而不需要重启)的权限了。这种方式可以说满足了七成需求,但是仍然有问题:有些 App 并不需要高性能,但是调用了对应的 API ,因此显卡被强制切换到了独显模式,此时待机时间几乎就完蛋了。但是谁是高性能 App 并不能由用户选择(因为是根据程序的行为判定的),因此会出现“打开 QQ 后的某个时间突然显卡切换到了高性能,而且直到关闭后都无法换回来”的诡异情况。解决这种情况主要靠开发者的慢慢适配,但不适配的程序依然很多,“强制锁定在集显”这种操作虽然有三方 App(如 gfxCardStatus)尝试实现,但效果不太好,而且随着系统更新,三方 App 的实现失效了。而且由于外置显示器和独显是硬连接,意味着如果连了外接显示器,那么系统必须调用独显显示画面,不管程序是高性能还是低性能。

外接显卡的 mac:
苹果 2018 年左右允许用户使用雷电外接显卡(虽然只有 AMD 的几款)。理论上通过这种方式,可以直接把显卡拆开,直接买一个不带显卡的 13 寸就可以了,兼顾功耗与性能。除了外接显卡移动不便(还有贵),听起来似乎没有太大缺点,但是实际使用体验却不是这样的。笔记本自带的显卡切换,在实际发生切换时是不需要有“重启程序”这种诡异的步骤的。但是外接显卡需要!外接的显卡并没有类似内置显卡的待遇,在性能受到雷电口带宽限制的状况下,切换的体验也非常差。你需要手动点击推出显卡,然后让它关掉所有的程序并重新打开。当然,如果直接拔线的话,所有依赖外接显卡的程序会直接崩溃,系统本身也有一定概率崩溃掉。虽然在意料之中,但是手动点推出的情况下居然也无法做到不重启 App ,体验还是很差的。另外,有些 edge cases ,如使用核显解码的视频在外接屏幕上全屏播放,体验几乎也是灾难性的,外接屏分辨率高一些基本上就开始闪成 PPT 了。
哦对了,还有一个很难受的点,这块外接显卡想在 Bootcamp 状态下运行起来可太难了。

2012-2020 年的主流 windows:
与此同时,windows 系列的笔记本从始至终只有一种切换方案:Optimus 。采用这一方案的笔记本,无论是内屏还是外接屏幕,大多都是被核显接管,少部分电脑外接时会使用独显,因此大多数笔记本自始自终都有良好的功耗表现。与之对应的就是很大程度牺牲了独显性能,因为这种方案的独显并不和任何屏幕有硬件 mux 连接,只负责渲染,因此转换过程中损失很大。诡异的是,转换的损失并不会在跑分中体现出来,但是对用户体验的影响是很严重的。具体由几个原因:
1. 转发画面的成本。相比图像直接显示,optimus 会先把画面编码转发到核显,然后再显示。延迟很大不说,画面越大,转发数据越多,显示越费力。在 1080p 以下的显示器的时代其实影响不大,但是随着显示器分辨率越来越高,这个过程越来越费力。甚至,有些笔记本由于设计比较奇怪,甚至出现了不能全屏幕玩游戏的诡异现象。( Eg. Surface Book, pcie3 x2 的显卡带宽导致传输画面的速率甚至不够游戏全屏,以至于饥荒这样的小游戏全屏都会很卡,但是地平线这样的大游戏低分辨率又没问题)
2. 对核显的影响。笔记本的功耗恒定,游戏中本来只需要供给 CPU 和独显,现在却要多拖一个满载解码的核显,这对 CPU 的性能表现极为不利。如果散热 /电源不好的话,很容易机器就会出现降频。
3. 因为核显的满载,而且系统 UI 又是由核显渲染的,如果玩窗口化的游戏,而且外接了显示器,此时系统的响应速度可谓是灾难,说卡成 PPT 毫不为过。
因此,这段时间我特别不愿意用 windows 的笔记本,少数几款用起来体验也是特别糟心。

2021 至今的部分 windows
Nvdia 新发布了 Advance Optimus 技术,做到了显卡切换方式和 2013 年的 Macbook 系列类似,体验没有那么糟心了。然而这个技术仍然很诡异:
1. 内屏切换独显时,电脑会看到两台显示器,其中一台被禁用,而且会有明显的“切换显示器”的感觉。这属于体验问题,毕竟苹果是软硬一体的公司,比不过比不过。
2. 一旦连接外屏,此时内屏哪怕是独显模式都会被强制切回集成显卡???这种操作属实没看懂,但是直觉上看似乎是硬件限制。
3. intel 在 11 代 u 上上了内置雷电 4 ,因此很多笔记本都带了雷电口。但是,通过雷电协议输出的外接显示器,一些笔记本居然是接在核显上的。很难说不是成本原因,毕竟外星人这样的本子是可以独显走雷电协议的。
能看出 windows 笔记本在显卡切换上整体都慢 Macbook 不止一拍,直到现在也只是勉强能用。

M1
回到 M1 ,M1 系列的出现,几乎终结了上述困扰我许久的,不怎么理想的显卡切换技术:只有一张显卡,还切换什么?更何况这张显卡的待机功耗还这么低。因此我对 M1 系列的笔记本印象是非常的好。不能说 100%满意:比如居然有外接显示屏数量限制,不能外接显卡等小毛病,但是瑕不掩瑜。一张卡让笔记本吃遍所有场景的体验,真的让我这么多年对使用各种诡异显卡切换方案的不满消散殆尽。现在只剩下了一个问题:M1 这个 arm 架构的笔记本,它没有 Bootcamp ,没法打游戏啊!即使使用虚拟机跑 arm 版本 windows ,对游戏的兼容性仍然很差。这么高性能的,堪比独显性能的核显,对于不剪视频的我,几乎成了个伪命题:我怎么会在一台不能打游戏的笔记本上用独显呢?

于是至今我还是没能找到完全好用的笔记本,即使我对它的需求只有办公和游戏。
2855 次点击
所在节点    macOS
24 条回复
xingda920813
2022-04-27 23:48:19 +08:00
现在好一点的游戏本早就有纯核显模式 / 核显独显自动切换 / 独显直连这 3 种模式之间的热切换了
icestraw
2022-04-28 00:00:25 +08:00
@xingda920813 你说的大概就是 Advanced Optimus 。联想叫 DDG ,最新版本是 2.5 。联想 DDG 就符合我说的那种情况,雷电接口(非 typec )负责输出的画面是核显。Advanced Optimus 体验也是一言难尽...切换的一瞬间,所有窗口都被最小化,然后此时再打开的所有 App 都会使用独显,即使游戏退出后,除非把这些 App 一并关掉,否则独显一直在耗电。
findex
2022-04-28 00:06:06 +08:00
关注一下 12 代 u 的雷电 4+外置显示器是否可以走独立显卡。
另外,m1 上用 arm64 windows 还是可以玩一些 directx 11 的游戏的,就是有些卡。首先,用 parallels 在 m1 上虚拟 arm64 windows ,接近原生运行 arm64 windows 在 m1 芯片上。其次,经过 windows 的一层 x86/x86_64 转译成 arm64 机器码,确实要消耗不少资源。但是我试过这样竟然可以运行骑马与砍杀最新版,最低画质,1440p 60fps 。当然这款游戏优化很好。但是其他游戏就要放弃或者别考虑了。m1 不是用来打游戏的。想流畅运行一些经过转译的游戏,起码 m1 max ,想通过这种方式画质达到 1060 6G 水平,需要 m1 ultra 。这肯定划不来了。就玩游戏来说,在台式机面前,笔记本都是渣。
icestraw
2022-04-28 00:06:46 +08:00
比如说打着游戏临时打开浏览器搜个攻略,此时哪怕把游戏关掉,浏览器还是用独显的,而且根据我的体验,最新版 Edge 100 此时渲染帧数会诡异的变成 30fps ,重启浏览器才会恢复。
icestraw
2022-04-28 00:10:19 +08:00
@findex 我正在用的 11 代就可以,Alienware m15 R6 ,注意 AW 一般需要 3060 以上的显卡才支持

m1 开虚拟机我甚至可以玩只狼,帧数比之前 19 年的 5500M 开 Bootcamp 还高,cpu 指令转码似乎并不太影响 gpu 效率。但是偶尔会崩,并不是一个适合玩游戏的平台,哈哈
281x1h2ez12
2022-04-28 06:40:56 +08:00
我打的都是一些模拟经营类不吃 GPU 的游戏,吃内存和 CPU 多一些,而且有专门的 Window 游戏本打游戏,MBP 感觉太珍贵了,工作学习都在上面,怕万一打游戏把 MBP 搞坏了。
610915518
2022-04-28 11:14:47 +08:00
火影笔记本表示路过。只要切成独显直连,核显自动屏蔽了,驱动都找不到。所以我直接把 AMD 核显驱动卸载了,全程 N 卡独显直连完事(包括外接显示器),并没有出现 OP 所述问题
610915518
2022-04-28 11:16:28 +08:00
另外在混合模式下(核显输出画面)会有 BUG ,任务管理器有个进程一直占用部分 CPU ,很烦人。
icestraw
2022-04-28 11:47:33 +08:00
@610915518 这样几乎就没有续航了,但除此之外都挺好用的,内屏也能用高刷 /GSYNC 。很多游戏本直接把内置的核显砍掉了,所有输出都用独显,干脆不要续航其实也是一种选择。混合模式大家都做得不咋地,哪怕 N+A 甚至 A+A 也不太行。
BiteDXH
2022-04-28 11:50:52 +08:00
硬件整合的体验一致性和硬件自由的体验不确定性 hhh
610915518
2022-04-28 12:14:49 +08:00
@icestraw 是的续航基本为 0 ,断电 1 个小时就撑不住了。鱼和熊掌目前看来不可兼得,完美的方案只能等未来出现了(核显直连 with 真屏蔽独显)
secondwtq
2022-04-28 12:18:16 +08:00
没听说过 Optimus 有会卡 UI 的说法。理论上这玩意就是在 iGPU 和 dGPU 之间传输原始画面,没有“编码”“解码”的过程(真“编码”出来连画质都会损失),iGPU 只是一直渲染内存中一块区域的贴图罢了,正常的配置根本不可能满载——你要是能只用 iGPU 拖得动外接窗口化星露谷(或者视频播放),理论上也能拖得动外接窗口化 Optimus 。
secondwtq
2022-04-28 12:22:28 +08:00
另外 AMD 最近正在 iGPU 方向发力,不过短时间内要做到 M1 Pro 的效果大概不太可能,内存小水管卡着呢
icestraw
2022-04-28 13:32:56 +08:00
@secondwtq 我也没“听说过”,事实上反馈有这个问题的人都很少,但是问题确实存在,但不一定是在所有配置组合存在。你可以找一台这样的电脑试一下:(比如 XPS )
N+I 卡组合
使用老版本的 Optimus 技术(即不带硬件 mux )
CPU 为 10 代或更低( 11 代 /30 系开始有 pcie4.0 等技术了)
外接显示屏走核显(部分笔记本即使没有硬件 mux ,外接显示屏也会走独显)
内外屏的分辨率是 4K 甚至更高(低分辨率无法体现这个问题)

此时在外接显示屏用 N 卡运行一个分辨率为 4k 甚至更高的游戏(哪怕就星露谷),往往就会有诡异的卡顿。如果是多显示器的话问题会更明显。

Optimus 确实没有编解码视频流,印象中原理是 N 卡往 I 卡的 framebuffer 里拷贝画面,但是中间不仅有延迟还有带宽瓶颈,拷贝对 I 卡的性能似乎也有影响。可以看到任务管理器中 I 卡的”Copy”字段在运行游戏期间几乎是满占用。可能我没表述清楚,卡的不一定是 Optimus 运行的游戏,也可能是集成显卡渲染的其他窗口。
xiyangzh
2022-04-28 16:11:14 +08:00
真实找到知音了,这个问题之前也困扰我很长时间。 我之前是偶尔剪个片子,修个图,写写代码。当我写代码的时候,显卡总是莫名其妙的跑出来,然后续航断崖式下跌,发热, 幸运的时候强制切换成核显很顺利,不幸的时候切不动,只能重启,相当痛苦。当我看到 m1 的时候,我就知道这个问题有戏了,试用了几天体验相当好,目前使用 m1max 。
xiyangzh
2022-04-28 16:17:04 +08:00
另外看了一下,m1max 最耗电的部件是内存, 非常意外
icestraw
2022-04-28 16:24:04 +08:00
@xiyangzh M1 芯片待机功耗应该不会比显示器高吧?不过 max 有 miniled ,换个黑主题也不好说...
mxalbert1996
2022-04-28 22:26:30 +08:00
我感觉 2020 年以前的 Windows 本外接屏幕基本都是归独显管吧。Xe 以前的核显支持的 HDMI 和 DP 的版本都贼低,连 4K 60Hz 都不支持,而且以 Iris 核显那孱弱的性能渲染两个屏幕也太勉强了。
mxalbert1996
2022-04-28 22:27:50 +08:00
Iris 核显 -> 非 Iris 核显
icestraw
2022-04-28 23:46:22 +08:00
@mxalbert1996 分型号,两种方案都有,游戏本偏独显一些。但是核显外接的本子接屏幕就有些痛苦。其实以前只有 Iris 的 MacBook Pro 也很痛苦,自从 macOS 10.10 后界面一堆高斯模糊,就没流畅过,显卡太弱了连那块高分内屏都带不起。
非 Xe 的 UHD630 甚至可以 5k60 ,Windows 本和 Mac 都可以(典型的例子是 Mac mini 2018 )但是相当卡,顶多浏览个网页。Xe 性能还是可以的,但是 intel 还是太抠了,直到 12 代才给标压 u 96eu 的版本,之前都是 32eu 的阉割版,性能差好多。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/849674

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX