更新记录
V2.0:大量优化文本,补充了保留核显直出的方案。
V2.1:优化结构图,补充了Advanced Optimus的原理(猜想);补充了Enduro和直出热切换的案例。在此感谢知乎大佬@Cotton提醒,否则我估计还在研究P106那一套方案(苦笑)。
V2.2:举例机器补充和修正,增加了对于OPI总线的备注。
前言
强劲的独立显卡和节能的核芯显卡常常会同时出现在一台电脑上。台式机上由于不需要考虑功耗,所以一般都是直接插在独立显卡的插槽上[1],但是笔记本由于要在性能和续航之间做出取舍,所以就产生了各种各样的解决方案。本文将按照大致时间顺序对每种显卡切换技术进行介绍,并介绍其优劣。
*本文也涉及一部分雷电协议的内容,这部分内容有可能会随着雷电协议/主控的发展而发生改变。
技术介绍
硬件手动切换(冷启动切换)
这种方式就跟他的名字一样:直接设置一个开关,直接选择使用独立显卡还是核芯显卡。其流程大致如下:冷热切换都是这么一套体系,区别只在是否需要重启
比较经典的案例就是索尼曾使用过的STAMINA/SPEED开关[2],只需要滑动开关并且重启电脑,便可进行显卡的切换。SONY索尼 VGN-SZ32CP/B说明书的介绍。据说这玩意还是专利?
软件手动切换(热启动切换)
冷启动需要重新启动系统。而进行一次重新启动在那个SSD并未普及的时代则是十分浪费时间的一种行为。而在这时,基于软件不需要重新启动电脑就能实现的显卡切换技术出现了。
AMD的GPU可以使用AMD PowerXpress技术[3]进行显卡热切换,而NVIDIA则使用Nvidia Hybird Power技术[4]来进行显卡切换。前者在APU平台下可以进行一定的混合运算[5];后者则在一部分渲染环境中允许独立显卡与核芯显卡以并行模式进行渲染,从而发挥出多GPU的优势[6]AMD PowerXpress(左)和NVIDIA Hybird(右)显卡切换技术
这种方式有以下优点:
1.不需要再进行关机重启的操作;
2.首次将独显与核显进行了结合,发挥其异构计算的优势。
但是这种技术也存在以下缺点:
1.用户需要在进行显卡切换的时候需要关闭正在运行的应用程序,因为不这么做的话可能导致程序崩溃或者电脑黑屏。
2.这种过程依旧显得不那么“自动”:其只能根据是否使用电池或者Windows自带的电源方案来进行跟进切换。
3.显卡切换还是需要额外的电路(MUX Switch芯片)来进行画面切换,在成本上依旧是治标不治本。
4.因为windows XP/Vista本身对多个显卡驱动的兼容性较差,因此打包定制驱动成为了多家厂商不得不做的事情。
使用这种方式模式的笔电有联想Y470A,在软件内设置完成后拨动显卡切换开关既可进行显卡的切换[7]。联想Y470/570说明书。N卡版本为Optimus和核芯显卡
通过核芯显卡整合画面输出
不需要关机但是还要关掉一堆软件并且等待切换总有种换汤不换药的感觉,且MUX芯片本身的成本也偏高。因此,自动切换的技术产生了。
NVIDIA推出了Optimus技术(只适用于intel核显)。这种设计能够识别是否出现需要独立显卡进行渲染的软件,并且将渲染的画面通过Optimus Copy Engine来转入系统内存,再让核显整合画面后输出。这个图准确的说是iGPU读取Optimus Copy Engine复制到内存的画面,然后渲染
这种技术有如下优势:
1.做到了一条视频输出线路(不需要MUX芯片),降低了成本。
2.异构加速(即intel核芯显卡进行辅助渲染)获得了进一步的发展(比如PR视频渲染)。
3.在负载较低的情况下核显能够承担大部分任务,独立显卡在此时可以处于一个待机状态。
说完了优点,就要说缺点:
1.核芯显卡要进行画面的二次处理,且其需要在显卡之间进行画面数据的传输,而这些都对画面延迟造成了不小的影响,故其对于FPS/MUG/STG这类需要极短反应时间的玩家来说会相对不友好;
2.Optimus存在兼容性问题,部分程序(比如DNF)可能会被误判为核芯显卡启动,从而造成游戏体验下降;
3.由于其是针对Windows设计的,因此在Linux系统下兼容性较差;
4.部分基于独立显卡的特性无法在内置屏幕使用,比如G-Sync技术;
5.由于intel的低压处理器[17]只提供了4GT/s的PCH延伸出来的带宽,Optimus一定程度上加重了PCIE通道挤挤乐(带宽不足)的情况
6.Optimus的画面是需要通过内存来进行传输并且由核芯显卡渲染,故对内存敏感的游戏(如英雄联盟)影响较大,且高分屏会出现严重的抢电(核芯显卡与CPU抢夺功耗)情况从而导致性能下降。
AMD则在2011年推出了PowerXpress 4.0技术,并使用了新的名称:Dynamic Switchable Graphics(简称DSG,事实上内部一直还是在使用PowerXpress这个说法),这个技术使得启动游戏的时候显卡能够自动的进行显卡的切换,但除非使用固定模式来进行显卡切换,否则GPU是无法启用对OpenGL应用的支持的。2012年,AMD又推出了PowerXpress5.0技术,增加了对OpenGL/OpenCL的支持,并且提供了OEM方案让厂家自定义配置。但此时的问题依旧很多:混乱的UI界面,切换并不那么灵敏。于是在半年后,AMD推出了PowerXpress 5.5技术,并将其称为AMD Enduro switchable graphics(后文简称Enduro来与Optimus作为对应)。这一版本大幅度改进了UI界面,并且允许用户自行进行显卡使用的设置[10]。此技术也是通过核显输出画面,但由于其原理基本与Optimus类似且难以找到AMD的相关文档,故此处不多进行赘述。[11]
Optimus和Enduro在现在仍然是比较常见的一种显卡切换方案。常见的使用Optimus技术的机器主要是大部分I+N配置的轻薄本,以及蓝天NH*0模具(如神舟Z7-CT7NH)、蓝天NB*0模具(如神舟ZX6-CP5S1)、Alienware M15(r2)、微星GT76(九代酷睿的版本);常见的使用Enduro技术的机器则为惠普光影精灵AMD版、微星Alpha 15、华硕TUF A15(飞行堡垒/华硕天选)。
砍掉核芯显卡直接由独立显卡输出画面
Optimus带来的性能损失在搭载高端独立显卡的机器上出现的相对较早(为啥前面介绍Optimus的时候前面有两个高端游戏本?我怎么知道),继续使用传统的手动切换很明显是不合实际的方案。因此厂家选择直接砍掉核芯显卡的供电[9],甚至直接砍掉核显,让独立显卡直接输出画面。除此之外,有一部分使用Optimus/Enduro的机器也能够通过设置直接关闭核芯显卡和内部屏幕的视频输入而让其能直接从独立显卡输出画面到外接显示器,其原理与此类似。
这种简单粗暴的方式解决了以下问题:
1.避免了核芯显卡与CPU的抢电情况,或多或少提升了满载时的CPU性能;
2.避免了独立显卡的性能损失、并且让独立显卡的一些特有功能能够使用;
2.其能够使用不带核芯显卡的处理器,从而进一步的降低了成本。
但是这种果断也付出了巨大的代价:
1.核芯显卡的加速功能完全丧失,在部分生产力项目中笔记本的性能表现降低;
2.独立显卡无法进入休眠状态,电脑低负载下的功耗增加,续航严重下降;
3.独立显卡无法进入休眠状态,相对于核芯显卡较高的低负载功耗让对笔记本低负载下的散热造成了一定的压力。
常见的能拥有核芯显卡但是选择砍掉的机器有微星GT63、GT75/WT75、惠普暗影精灵5Air、幻影精灵X、蓝天P7xx/P870系列(神舟GX10、未来人类X711、X911)、常见的没有核芯显卡的机器有蓝天NH570ADS、蓝天P570WM以及搭载HF后缀的笔记本(如联想Y7000(P)竞技版)。轻薄本则有一个特殊案例:联想Ideapad 330-15IKB,由于其搭载的8121u没有办法使用核显,所以配了一个Radeon 540来让独显直接输出画面。
保留核芯显卡直接由独立显卡输出画面
这种设计更像台式机。这种的设计让核芯显卡承担了一定的视频输出任务的同时,也让其具有了异构运算的特性。除此之外,有一部分使用Optimus/Enduro的机器也能够通过将独立显卡的画面输直接出到外部屏幕并且关闭内部屏幕的方式来做到直接从独立显卡输出画面,其原理与此类似。核显依旧能够进行生产力方面的加速
核显依旧能够进行生产力方面的加速
这种方式有以下优点:
1.保留核显,使其在生产力环境中依旧能够获得异构加成;
2.提供了更多的视频输出接口;
也存在有以下缺点:
1.相比于直接砍掉增加了主板供电规模并且无法选择无核显处理器,成本增加;
2.相比于直接砍掉功耗进一步增加,续航进一步下降。。
常见机器为Alienware Area-51m(这台机器其实也支持使用F后缀的处理器,只是TB3会丧失视频输出的能力)。
冷启动MUX Switch切换方案
为了解决Optimus带来的问题,但又不希望失去Optimus带来的优势,厂商又重新引入了MUX芯片。但是这次MUX负责切换的不再是独立显卡和集成显卡,而是独立显卡和Optimus:
这种方式有如下优点:
1.提供了独显输出的环境的同时也保留了Optimus本身的特性,使得省电和性能兼得。
问题则在于:
1.MUX Switch模块依旧存在,成本依旧上升;
2.需要重新启动来进行切换,且部分机器切换后核芯显卡是断开的(即存在砍掉核芯显卡方案的劣势)。
常见的机器有蓝天PB50(神舟Z9-CT7PK、未来人类T5X)[12],联想Y9000K、Y7000/Y7000P 2019[13]、Alienware 15/17 [14]、华硕GX502、机械革命Z3Air-S、机械革命X10Ti、微星GT76(10代酷睿版本)使用此种方案。
热启动MUX Switch切换方案
MacBook的MUX则是通过判断启动的程序,然后直接进行热切换。但由于这套切换技术是针对Mac OS设计的,故在安装Windows后在Windows环境下MacBook会默认强制使用独立显卡[15]。
记得前面的纯Optimus方案里面提到了一个通过外接显示器的办法输出画面的办法么?想想看,那如果我直接将内置显示屏的输入“拔掉”切换到独立显卡上,是不是也能做到独显输出画面呢?联想则联合NVIDIA使用了这种方案,最终产生了Advanced Optimus。其原理如下:
这种方式有以下优势:
1.能够直接进行切换,不需要重启的同时也能达到各种切换技术的技术优势。
但是其也有以下劣势:
1.判断方式未知,识别效率偏低(但是提供了手动热切换,故此问题初步解决);
2.成本比Optimus方案和只提供直出方案高。
3.部分显示屏的特性,比如HDR显示无法有效使用。
使用这种模式的机器为苹果MacBookPro,Windows阵营首发的机器(官方)为联想Y7000P 2020以及海外版本的Y7000(P)和Y9000K 2020(即Legion 5(P)i、Legion 7i)。
AMD则也有过一种类似于PowerXpress和Enduro混血的方案,其在本身能够使用intel核显自动选择输出画面(Enduro),也进行强制的热切换:这个图本身就是这么糊,我也很绝望
选择此选项后显卡的切换方式就会变成之前PowerXpress的模式来进行显卡的手动切换(也可以根据是否插入电源来切换)。
使用这种方案的机器有:Thinkpad E520、Thinkpad E420(两台机器只有尺寸区别)。
雷电3外接显卡方案
首先说明一个相对尴尬的事实:intel的低压U(IceLake-U除外,他是直接内置了连接CPU的雷电3,不抢占外部带宽但仍需外部增幅芯片)只有一个4GT/s的OPI总线,换算成PCIE带宽的话只有PCIE3.0*4——这个带宽上你要挂固态硬盘、网卡、外部接口甚至是独立显卡,所以会产生严重的带宽不足问题。
其次是雷电3本身最大只有40Gbps,以此为标准对应的话就是PCIE3.0*4-5。但这个带宽中有18Gbps是被强制用于视频画面的传输[16],故留给独立显卡的带宽实际上就只剩下22Gbps,简单还算下就是PCIE3.0*2-3的带宽,对于高端独立显卡来说并不友善。视频传输这里现在其实能做到更大,代价是直接占用数据传输的带宽
除了上面的带宽先之外,雷电3将画面回传到屏幕所造成的延迟也并不比Optimus好,所以有能力的话还是外接显示屏或者直接使用台式机来获得更好的体验为好。
总结
MUX Switch是能满足最多使用环境的技术;Optimus则是追求成本和续航的最佳选择。随着intel HF后缀处理器的出现,游戏本很可能会出现一批阉割核芯显卡的机器用来主打性价比,而高端机器则可能会大范围使用Advanced Optimus技术,来让显卡的切换更加灵活自如。
至于Enduro,我暂时没有找到AMD的相关文档,但是根据华硕首发的4800H+2060的表现来看我觉得Enduro会比Optimus糟糕一点,所以最好还是在可能的情况下组成高频双通道内存,或者购买支持Mux Switch功能的机器。
备注
1.P106(类似矿卡同理)输出画面为特殊情况(并不是Optimus,据说是利用了win10的接口),这个显卡没有显示器输出所以只能绕道来输出画面。
2.据说这玩意还是专利?
3.PowerXpress 4.0技术后显卡支持自动切换,并且在PowerXpress 5.0之后此技术改名为AMD Enduro 显卡切换技术
4.又说Nvidia Hybird SLI技术
5.就是挖掘机时期的APU+弱鸡GPU时期宣传中的那个恶臭的交火技术(APU-to-GPU的ATI Hybird CrossFireX交火模式) 。
6.这个加速作用直到现在(包括Optimus)都依旧存在。
7.此机型N卡版本是开启Optimus/使用集成显卡。据说是intel要求必须做Optimus...现在没了
8.此部分可以参照参考资料5中的测试数据
9.台式机主板也有直接砍掉核显(供电&画面输出)的操作,比如MSI Z390 Godlike
10.这个技术虽然说是配合HD7000系列显卡更新的,但是实际情况中HD6000系列的旧卡也能通过一定的方式获得这个技术。在之后官方也提供了老显卡的驱动支持。
11. 除此之外AMD也针对一部分产品搭载了核显休眠电源管理技术(ZeroCore Power),使得其能够在闲置状态下大幅度降低功耗;并且搭载AMD 跃频 (PowerTune) 技术使频率变化更加灵活。详细内容可以查阅参考资料4
12.蓝天模具中的MSHybrid/Discrete对应Optimus和独显输出(部分模具会出现需要外接显示屏幕才能使用独显直出的情况),
13.联想称其为Dual-Direct GFX(DDG双模增强显示)技术,且注意Y7000型号下有多代产品此处不代表全部机器都有
14. Alienware机器中的SG/PEG/IGFX(就是Fn+F7那个快捷键的作用)
15.有实现切换的解决方案,详见参考资料9
16.这个18Gbps是下限,也就是说即使通过显卡外接显示器也依旧会丧失。如果视频的带宽需求大,那数据的部分还会进一步压缩。非外接显卡的雷电设备的带宽最大为22Gbps。更多内容可以查看参考资料11
17.此处特指Haswell到Comet Lake这段时间内的U系和Y系处理器,Ice Lake的TB3是CPU直连通道,而TigerLake的低压移动端产品则直接提供了CPU直连的PCIE通道。
相关资料.
1.Arch Linux对NVIDIA Optimus的说明
2.SONY索尼 VGN-SZ32CP_B(中文)说明书
3.联想Y470/570说明书
4.AMD Enduro显卡切换技术官方宣传页面
5. 【科普】内存&核显对性能的影响 作者:孤独凤凰战士孤独凤凰战士:【科普】内存&核显对性能的影响zhuanlan.zhihu.com
6. AMD’s Enduro Switchable Graphics Levels Up-ANANDTECH 作者:Jarred Walton
7.惠普笔记本A卡无法使用OpenGL的解决方案
8. 直出,Optimus与MUX switch:再谈笔记本显卡切换技术 作者:1nterr0gaci0n1nterr0gaci0n:直出,Optimus与MUX switch:再谈笔记本显卡切换技术zhuanlan.zhihu.com
9. [教程]MacbookPro如何在Windows开启核显/集显-百度贴吧 作者:凉水
10. AMD announces Radeon HD 7000M series with Enduro graphics-switching technology
11.关于雷电3技术的说明文档
12. NVIDIA Optimus 技術登場!!不需MUX線路 IGP/GPU能實時切換 作者: John Lam
13. 拯救者Y7000P 2020 i7-10750H + RTX2060 评测作者:林林-一枝小白兔
14. AMD E420、E520双显卡切换方法 联想知识库