笔记本显卡切换技术.docx
- 文档编号:8053459
- 上传时间:2023-05-12
- 格式:DOCX
- 页数:16
- 大小:1.77MB
笔记本显卡切换技术.docx
《笔记本显卡切换技术.docx》由会员分享,可在线阅读,更多相关《笔记本显卡切换技术.docx(16页珍藏版)》请在冰点文库上搜索。
笔记本显卡切换技术
出于偶然,无意打开了催化剂控制中心中的“可切换显示卡方式”选项,才发现AMD智能切换技术的存在。
于是萌生了捋一下双显卡切换技术的发展历程的念头。
到处搜罗资料并整理,写下了这篇文章,希望能给大家带来一些帮助。
由于内容较多,难免出现混乱、重复和错误,望指正。
看完可能需要一点耐心。
就目前而言,在独立显卡(discreteGPU/dGPU)和集成显卡(integratedGPU/iGPU)之间的切换技术在市场上主要包括两家:
NvidiaHybridSLI和AMDPowerXpress。
NvidiaHybridSLI又称为智能SLI技术,从GeForce9000M系列开始到现在的GeForceGTX500M系列都是支持该技术的,视显卡搭配情况分为两种模式:
当NV独显与支持该技术的其他厂商的主板集成显卡相搭配使用时,在执行浏览网页、文字处理以及观看高清视频等日常计算任务时默认使用低功耗集显模式,从而降低噪音并延长电池续航时间;当运行高要求的3D游戏和应用程序时则自动切换到独显模式,可将性能发挥到极致。
这类智能电源管理技术称为HybridPower(混合动力)技术。
当NV独显与Nvidia的板载GPU(比如GeForce9100MG)搭配使用时,独显与集显以并行模式同时参加渲染,即可发挥出多GPU优势,并大幅提升NV独显的图形性能。
这种变相的SLI显卡交错并联技术称为GeForceBoost(GeForce加速)技术。
注:
NvidiaHybridSLI已发展至最新的NvidiaOptimus智能切换技术,后文再谈及。
AMDPowerXpress又称为ATI可切换显卡技术,是移动显卡之间的一种热切换技术。
结合集成显卡的低功耗特性和独立显卡的卓越性能,以实现最佳的电源管理。
支持这类技术的显卡有ATIMobilityRadeonHD3000/4000/5000系列和现在的AMDRadeonHD6000M系列。
跟NV一样,它也分为两种模式,在与intel集显搭配时实现手动切换;在与AMD平台(比如FusionAPU)搭配时,当独显进行渲染时,可利用APU的通用计算能力进行DirectCompute计算,必要时也可进行协助处理与渲染。
综合了双GPU性能,这其实就是一种APU-to-dGPU的ATIHybridCrossFireX交火模式。
注:
AMDPowerXpress4.0已能支持智能切换技术,后文再谈及。
双显卡技术的发展:
多年来,移动PC行业一直在追求一种理想的移动电脑,既能拥有高性能,又能兼顾较长的电池续航能力。
这导致出现了一些特别的,也是不成熟的解决方案,这些方案虽然能提高性能或者是延长电池寿命,但却无法同时兼顾两者。
混合图形(HybridGraphics),即集成显卡和独立显卡同时工作,独显和集显不可切换,可视为“SLI”并联技术和“Crossfire”交火技术的一种延伸。
2-3年前由AMD和NV发布,可以让两种不同品牌的显卡协作运行。
例如,RadeonMobilityHD4570可以同IntelGMA一起工作,而不仅限于AMD的集成显卡。
这种混合模式虽然能提升性能,但由于集显和独显不得不同时运行,对于笔记本的电池续航能力来说压力巨大,而且实际上一款主流的独立显卡已能运行所有的应用程序,没有必要利用混合技术来联合两种显卡的性能。
当然,如果摒弃这类可大幅提升效率的技术是很可惜的,因此被综合进可切换显卡技术,单纯的混合图形技术已难见到。
具体参见上面的NVGeForceBoost和ATIHybridCrossFireX。
可交换图形(SwitchableGraphics)的主要益处在于笔记本允许用户选择需要运行的图形系统,就可以让计算机大多时间运行在集显模式下而达到节能目的。
可交换图形的早期版本要求用户必须重启电脑才能完成图形切换,这是因为操作系统和图形驱动无法接收到切换指令,就不知道如何切换,导致用户一次只能启用一种显卡。
图形切换完全由系统BIOS所控制,只有重启后,系统BIOS才能识别到底启用哪种显卡。
这种通过纯硬件层面的切换操作并要求重启的方式对用户来说可谓一个相当糟糕的使用体验。
比如2006年发行的SONYVAIOSZ笔记本正是使用此技术。
显而易见,这个方案并未被广泛采用,但却展示了PC制造商势必要解决这个问题的决心。
我们可以将这种切换方式称之为第一代显卡冷启动切换。
第二种版本可以让用户采用软件控制而迅速完成图形切换且无需重启。
Nvidia于2007年发布了一个花了相当长时间来解决重启问题的技术:
SwitchableGraphics-HybridPower(混合动力)技术。
该技术允许笔记本切换图形子系统而无需重启,这极大地改变了笔记本的执行和操作方式。
切换过程要花上大约5-10秒。
理论上用户第一次在一个笔记本上就能轻松遨游两个世界-手动切换至集显而拥有较长的电池寿命;手动切换至独显而获取高性能。
这可以说是移动电脑发展史上的一个里程碑,并迎来了新一轮的笔记本PC时代。
该技术被OEM厂商广泛采用,并且收到了很多技术性用户和传媒界的积极回馈。
而ATI也推出了PowerXpress技术。
将切换功能集成到催化剂控制面板和桌面右键菜单中,可快速打开切换选项;并且可设置为电池模式下自动切换为集显,电源模式下则自动切换成独显。
我们可以将第二种切换方式称之为第二代显卡手动热切换,因为它是由用户决定,而非系统根据负载情况而自行切换。
目前AMDMobilityHD4000/5000系列显卡主要采用这种方式,例如Y460A/Y560A。
不同于几年前不成熟的方案,可交换图形技术主要由软件进行驱动,图形驱动程序和操作系统可以启用此功能。
其他PC图形企业也迅速跟进,并提供了各种版本的可交换图形技术。
随着可交换图形技术的到来,当运行密集型任务时,用户能够从独显中受益;而当任务较少时切换至集显以维护电池寿命。
从功能上讲,两个独立的图形核心通过使用一个硬件多路复用器共享了显示输出,多路复用器能提供多路输入切换的设备,用于引导两个图形核心之间的渲染和显示任务。
一旦活动的图形核心(集显或独显)准备好输出一幅已渲染的场景或图像,硬件多路复用器将会按照可交换图形驱动的指令切换至正确的显示设备,以便视频输出能被传送至所需的显示。
可切换显卡技术的数据逻辑流程图:
为了让系统在集显跟独显之间切换,用户必须在可交换图形的显卡切换程序(Applet)中手动更改设置,该专用工具会提供一个简单的菜单(比如AMD显卡可通过桌面右键菜单打开“可切换显示卡”选项)来让用户根据工作负载选择一个合适的图形核心。
一旦完成选择,切换指令信息会通过Windows7的标准API接口传送至可交换图形驱动层,系统BIOS接到信息后便会打开用于启用或禁用独显的接口,可交换图形驱动此时即可完成启用或禁用独显的操作,随后便开始加载或卸载独显驱动程序,以便切换后的显卡核心能正常工作。
上面是软件层面的操作,而在硬件层面也会同时发生转换,多路复用器将会按照可交换图形驱动的指令切换至正确的显示设备,并转移相关的显示缓存数据,以便显示能被正确输出。
实际上,可交换图形驱动程序作为一个代理显示驱动(Proxy)或中间层驱动,在不停地将系统信息传送至跟当前活动的和已启用的显示设备相关联的图形驱动。
遗憾的是,可交换图形技术虽然带来了一个新的PC功能,为带有独显的笔记本大幅增加了电池寿命,但仍然存在一些重要的可用性问题和功能性问题,导致用户很少能获得预期的效益。
以下几点不足之处:
1、手动模式切换-当需要在集显和独显之间切换时,用户每次都要更改设置。
如果用户在启动游戏前忘记了启用独显,就不得不退出游戏,并再重新进入游戏前切换至独显。
2、切换时间-切换过程中需要操作系统交换显卡驱动和转移显示缓存而产生了切换时间,因为Windows不允许一个显示适配器同时启用两种显卡驱动,由于多路复用器和驱动程序的加载和卸载过程,通常有5到10秒或更长的时间延迟才能完成集成显卡和独立显卡之间的切换。
从集显切换到独显的时间要比独显切换到集显的时间要更长。
3、应用程序阻止切换-通常应用程序会阻止模式切换,3D、视频应用程序、诸如接龙和扫雷之类的游戏都将会导致这个问题。
在系统允许在集显跟独显之间切换前必须关闭这些应用程序。
如果用户忘记关闭3D或视频应用程序,他们通常不会意识到图形模式其实还未如预期一样切换至集成显卡。
4、屏幕闪烁-由于驱动的载入和卸载,以及多路复用器的电路切换,在集显与独显的系统切换过程中会发生屏幕闪烁。
这可能会是一个烦恼,甚至让用户紧张,错以为是系统出现了故障。
5、成本增加-显卡切换依赖于额外的数字逻辑电路,包括多路复用器和附加的显示接口。
使用多个多路复用器会导致硬件布局极其复杂,会占用主板上的额外空间和大幅增加线路长度,因为每个显示接口都需要被路由两次。
结果导致削弱了信号的完整性,并且需要额外的PCB面板层,相比标准平台也就增加了材料成本和复杂性。
以上的问题导致用户很少进行切换,他们很少知道当前的图形运行模式(Y460/Y560有指示灯的,表示无压力),也不愿关闭当前影响切换的应用程序,甚至不知道如何切换(汗!
!
!
)。
这就迫切需要一个新的解决方案,可以让用户在需要时就可以用于独显的高性能,而需要延长电池寿命时又运行在集显模式下。
理想地说,就是无需用户干涉就能在后台自动完成切换。
为了克服上述障碍,那么新的技术是呼之欲出!
(实际上出了之后,很多用户暴瀑汗中,比如Y460N)。
第三种版本就是“CrossDisplay”交叉显示:
移除了多路复用器,仅使用集成显卡输出显示,独立显卡只负责渲染处理。
集显模式下,独显处于低能耗或关闭状态,直到应用程序要求独显进行渲染;独显模式下仍然通过集显显示引擎输出。
这个版本在独显和集显之间的切换是通过应用程序的触发完成的,无需重启,无屏幕闪烁,瞬间无缝完成。
应用程序及触发规则等配置文件可自动更新,用户也可以自定义应用程序列表和其运行方式。
我们把这种切换方式称之为第三代显卡智能切换,目前NvidiaGeForce200M/300M/400M/500M移动显卡都采用这种方式,比如Y460N,Y470N等。
这类技术包括Nvidia的Opitmus和即将公布并投入实用的AMDPowerXpress4.0。
NvidiaOpitmus
Optimus优驰技术是Nvidia2009年公布的一项新的切换技术,该技术创新地结合软硬件,自动、无缝、瞬间提供出色的性能和更长的电池寿命。
Optimus系统吸引了大量关注,它可以根据检测应用程序的需求而在集成于芯片组或处理器上的低功耗显卡和高性能显卡之间进行动态智能切换。
利用Optimus技术,显示输出永远都只会通过集显显示核心,独显的显示输出将会被禁用。
由于显示输出是固定不变的,所以切换时不会产生黑屏现象,多路复用器亦变得多余,因为计算机不再需要独显的显示核心。
两种显卡之间的协议分工由驱动程式负责,NVIDIA声称可以兼容所有的API。
为达到更好的智能识别效果和传输性能,NV专门设计了OptimusRoutingLayer(软件)和OptimusCopyEngine(硬件)[路由层和拷贝引擎]。
Optimus路由层包含在Nvidia显卡驱动的硬件接口层中,主要提供智能图形管理,包含了一个核心级的数据库以识别和管理特定的与不同图形设备相关联的类和对象。
当某个程序启动时,路由层可以根据程序的要求和负载情况自动判断是否启用独显。
当遇到以下三种情况,它会发送一个信号以启动独显:
DX调用:
任何3D游戏引擎或DirectX应用程序都将会触发
DXVA调用:
视频播放将会触发(DXVA=DirectX视频加速)
CUDA调用:
CUDA应用程序将会触发
当某些3D程序或游戏在智能模式下无法启用独显时,用户也可以打开NV控制面板,在“管理3D设置”的全局设置中将首选图形处理器设为“高性能Nvidia图形处理器”,以强制运行独显。
虽然这毫无疑问因为用户的介入而变成了手动切换,看似与智能切换的设计初衷背道而驰,但在智能切换不断完善直到完美之前,不失为一种备选方案。
Optimus拷贝引擎将替代传统的DMA(直接内存通道)传输器。
传统的内存-内存DMA传输控制器是由3D引擎所执行,为了保持一致性,3D引擎直到帧缓存传输完成后才会执行渲染工作。
这种耗时的DMA同步操作牵制了3D引擎,并对性能造成负面影响。
CopyEngine依靠PCIExpress总线的双向带宽,允许同时执行3D渲染和拷贝显示数据。
拷贝引擎将独显的计算结果从显存搬移至集显所使用的系统内存之后,集显就开始读取已输出的帧缓冲数据,然后通过显示接口输送至显示器。
这种异步的DMA操作保证了数据的一致性,由于独显的显存控制器不需要参与拷贝过程,只专注图像计算,因此丝毫不会影响图像引擎渲染速度,并且在性能和效率方面都有大幅提升。
Optimus配置文件
Optimus技术的一个重点就是使用了启动独显的应用程序列表文件,每一个应用程序都具备自己特有的Optimus配置。
应用程序的配置文件基于GPU是否能提升质量、性能、低能耗或是功能性的。
这样做,Optimus就能避免在非必要情况下启动独显。
如果一个应用程序还没有自己的配置文件,Nvidia会运行该程序并通过一系列核查和验证过程来确保最高的质量和体验。
一旦通过验证,更新的配置文件将被托管在NVIDIA的Web服务器上,然后自动推送至终端用户。
如果用户不希望自动更新,他们可以在NVIDIA控制面板禁用这个功能。
刚上市的新游戏可能还没有Optimus配置文件,NVIDIA创造了一个独特的解决方案-NVIDIA托管的Web服务器将推送Optimus配置文件至终端用户。
用户也可以自定义配置文件或创建一个新的配置文件。
PowerXpress4.0
AMD新的显示切换技术细节已经泄漏,就让我们来一窥将与NvidiaOptimus、IntelIvyBridge图形交换方案相较量的AMD智能切换技术。
PowerXpress4.0基于“BusAlive,ChipOff”技术,是在PowerXpress3.0基础上的改进,移除了在图形输出设备之间要求电路切换的多路复用器。
使用PowerXpress4.0,AMD将充分利用FUSIONAPU和更强大的独立显卡为笔记本电脑提供高性能和更长的电池寿命。
BusAlive,ChipOff(BACO),字面意思就是关闭独显芯片,但总线保持连接状态。
即是保持数据连接和基本的专用集成电路供电(ASIC),但不参与处理和渲染工作。
当驱动程序检测到要求使用独显的应用程序启动时,系统就会退出BACO模式,独显开始通电并启动,这大概会给应用程序启动进程增加大约150毫秒的时间;应用程序终止后,独显重新进入BACO模式(仅ASIC供电),此时独显功耗约150毫瓦。
对于整个系统,处于BACO模式的独显仅仅增加大约200毫瓦的功耗。
这就是延长电池寿命的关键,并保证现今移动用户所冀望的平滑流畅的使用体验。
PowerXpress4.0的目的是为了提供一个平滑无缝的切换操作,让用户获得更好的使用体验。
优先于让用户采用集成显卡来延长电池续航时间,比如WindowsAero和其他的桌面组合操作等。
在设备管理器中将仅能看到集成显卡,如同多面板输出管理一样简化了设备安装和升级。
催化剂11.4早期预览版显示了AMD平台系统在视觉引擎控制中心和催化剂控制中心中会获得更多的系统控制选项。
其中就包含了PowerXpress4的控制选项,可以选择想要使用的GPU,使用电池时切换至低能耗显卡等。
我们来定义以下两个简单的等式:
PowerXpress3.0=MUXed+MUXless
PowerXpress4.0=PowerXpress3.0(固定方案)+DynamicScheme(动态方案)
MUXed:
MUX=Multiplexers(多路复用器);MUXed=独显渲染+独显输出/集显渲染+集显输出,集显跟独显可以通过用户直接控制多路复用器电路来进行切换(联想的硬切换开关正是基于此),目前AMDRadeonMobilityHD5000系列(例如Y460A/Y560A)都是典型的这种平台。
当独显工作时,集显和独显同时在设备管理器里显示,在设备管理器里删除集显,不产生任何影响。
在设备管理器里删除独显,集显接手图形工作。
当集显工作时,设备管理器里不显示独显。
MUXless:
顾名思义,无多路复用器。
去除多路复用器的原因是它始终使用集显进行显示输出,就不再需要在集显输出和独显输出之间做转换,多路复用器自然就无用武之地。
去除之后还可以降低成本,简化了设计和核查工作,缩短了产品上市时间。
MUXless采用CrossDisplay交叉显示技术,允许一个图形控制器使用另外一个图形控制器的显示引擎进行显示输出。
交叉显示技术将独显渲染的帧画面传送至集显共享内存,以便集显显示引擎驱动所有的显示输出。
该技术始终使用集显的显示引擎,而无论是集显模式或是独显模式。
在节能模式中禁用独显时,将停止对独显的供电。
当独显工作时,在设备管理器里删除集显,桌面分辨率会改变。
或者在设备管理器里删独显,桌面分辨率也会变。
当集显工作时,设备管理器里不显示独显。
MUXless模式下,相关的显示调整项目在独显的控制面板被隐藏了,只有集显的属性控制面板才能控制与显示相关的项目,比如分辨率,颜色,监视器等。
(联想新发布的IdeaPadY470N/Y570N采用的Optimus智能切换技术原理和这大致一样,联想在Y470N/Y570N上设置了一个硬件开关,并说明是启用或禁用Optimus技术:
当启用时,计算机处于智能切换状态,独显依然靠应用程序的触发而启动,这跟Y460N并无二别;当禁用时,实际上就是完全屏蔽独显,计算机处于集显渲染+集显输出状态。
因为在这种平台架构下,独显的显示引擎完全被废除,仅仅依仗集显进行显示输出,集显不可能也无法被禁用。
因此就无法像MUXed那样通过硬切换来控制多路复用器电路转换显示输出以达到完全切换图形处理器的目的。
那么联想为何还要设置这么一个以假乱真的“切换”开关,我想大概可以从Y460N上找原因吧,因为用户期待这样,哪怕是外观一摸一样。
)
DynamicScheme:
平滑无缝的独显操作。
集显一直处于工作状态:
桌面组合(Aero)总是工作于集显模式下,集显驱动所有的显示输出;显示器通过集显与操作系统相连接。
当系统载入D3D内容和与独显相关联的应用程序配置文件时,独显开始工作。
要求具有BACO特性的GPU支持。
已知具备BACO特性的GPU:
Vancouver温哥华系列(HD6000M)的Robson(洛布孙)/Seymour(西摩)/Whistler(惠斯勒)。
PX3.0适用平台:
AMDDanube(多瑙河)/IntelCalpella移动平台(包含第一代智能英特尔酷睿处理器)
PX4.0适用平台:
AMD/IntelHuronRiver“休伦河”移动平台(包含第二代智能英特尔酷睿处理器)
在催化剂控制中心中,PX4.0列出了三种显卡工作模式以供选择:
1、仅固定方案(PX3.0):
集显模式下,独显关闭。
2、固定方案+动态方案(如果可用的话)
3、仅动态方案:
允许用户为每个应用程序渲染选择GPU;独显空闲时进入BACO模式。
Y460A/Y560A下的MUXless方案实战:
先看截图:
打开催化剂控制中心,进入“可切换显示卡方式”选项,我们可以清晰的看到AMD的下一代切换方式是采用手自一体的,所以担心智能切换还不够智能的同学可以放心了,因为还有备选方案。
这时系统会自动尝试选择第一种智能切换模式,但由于Y460A/Y560A的平台不支持,于是可耻地选择了第二种手动切换方式。
但总归保存了一点颜面,虽然也是手动切换,但跟以前的(MUXed)手动切换是不一样的,所以好歹也体验了一下智能切换的一丁点特色:
独显模式下-独显渲染+集显输出。
MUXless方案下,因为只采用集显输出,所以系统的稳定性较MUXed方案下似乎更好,解决了以下已知问题:
Windows7SP1系统下,使用A卡最新驱动导致将鼠标指针移动到屏幕右上角时发生卡顿现象;在双显卡(A卡)系统下,使用最新驱动在系统重启时,当屏幕关闭后指示灯仍然亮达5-10秒之久;在双显卡(A卡)系统下,使用最新驱动时,71BIOS跟电源管理冲突问题,比如无法调节亮度等。
但这并不意味着在我们目前的Y460A/Y560A平台上使用MUXless方案全无弱点。
在独显模式下游戏性能会较MUXed稍微减弱。
就目前的测试来看,Windows7系统评分并无变化,3DMARK下降几十分左右,游戏时下降1-3帧。
至于原因,我们来看看以下简单的游戏数据处理至显示输出流程:
MUXed独显模式:
硬盘→内存→CPU→显存→dGPU→显存→独显显示控制器→显示器
MUXless独显模式:
硬盘→内存→CPU→显存→dGPU→显存→内存→集显显示控制器→显示器
通过比较,我们可以看出在MUXless模式下,多了一个环节,就是“显存→内存”,让我们返回至Optimus是如何完成这个环节的,Nvidia专门设计了一个拷贝引擎模块以完成将独显渲染好的帧缓冲从显存搬移至内存,这种异步操作就不会影响到3D引擎的渲染工作。
而显然Y460A/Y560A并无这种设计,因此3D引擎渲染速度受到影响,造成性能略降的结果。
当然将来原生支持智能切换的A卡会增加类似的处理而不会有任何问题。
在集显模式下,并无差别。
MUXed/MUXless集显模式:
硬盘→内存→CPU→共享内存→iGPU→共享内存→集显显示控制器→显示器
------全文完------
另外,催化剂11.3正式版将于本月30号左右发布。
但它比11.4预览版要旧,而且可以断定性能上也不如后者,因此略过不做。
由于时间仓促,明天再提供《雷神系列二》催化剂11.4PreviewRC2MUXless特别版。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 笔记本 显卡 切换 技术