当下流行的各种双显卡智能切换技术简介
发表于:2011年05月24日  分类:电脑技术  1条评论  2,084 次浏览 

       当下大部分的笔记本电脑都已经是双显卡的了,现在的双显卡切换技术也是有很多种,今天给大家总结下现在流行的双显卡切换技术,到处搜罗资料并整理,写下此文,希望给大家带来一些帮助,如有错误还望指正。

Nvidia Hybrid SLI 又称为智能 SLI 技术,从 GeForce 9000M 系列开始到现在的 GeForce GTX 500M 系列都是支持该技术的,视显卡搭配情况分为两种模式:

       当 NV 独显与支持该技术的其他厂商的主板集成显卡相搭配使用时,在执行浏览网页、文字处理以及观看高清视频等日常计算任务时默认使用低功耗集显模式,从而降低噪音并延长电池续航时间;当运行高要求的3D游戏和应用程序时则自动切换到独显模式,可将性能发挥到极致。这类智能电源管理技术称为 HybridPower(混合动力)技术。
当 NV 独显与 Nvidia 的板载 GPU(比如 GeForce 9100M G)搭配使用时,独显与集显以并行模式同时参加渲染,即可发挥出多 GPU 优势,并大幅提升 NV 独显的图形性能。这种变相的 SLI 显卡交错并联技术称为 GeForce Boost(GeForce 加速)技术。

注:Nvidia Hybrid SLI 已发展至最新的 Nvidia Optimus 智能切换技术,后文再谈及。

AMD PowerXpress 又称为 ATI 可切换显卡技术,是移动显卡之间的一种热切换技术。结合集成显卡的低功耗特性和独立显卡的卓越性能,以实现最佳的电源管理。支持这类技术的显卡有 ATI Mobility Radeon HD 3000/4000/5000 系列和现在的 AMD Radeon HD 6000M 系列。跟 NV 一样,它也分为两种模式,在与 intel 集显搭配时实现手动切换;在与 AMD 平台(比如 Fusion APU)搭配时,当独显进行渲染时,可利用 APU 的通用计算能力进行 DirectCompute 计算,必要时也可进行协助处理与渲染。综合了双 GPU 性能,这其实就是一种 APU-to-dGPU 的 ATI Hybrid CrossFireX 交火模式。

1

注:AMD PowerXpress 4.0 已能支持智能切换技术,后文再谈及。

双显卡技术的发展

       多年来,移动 PC 行业一直在追求一种理想的移动电脑,既能拥有高性能,又能兼顾较长的电池续航能力。这导致出现了一些特别的,也是不成熟的解决方案,这些方案虽然能提高性能或者是延长电池寿命,但却无法同时兼顾两者。

混合图形(Hybrid Graphics),即集成显卡和独立显卡同时工作,独显和集显不可切换,可视为“SLI”并联技术和“Crossfire”交火技术的一种延伸。2-3 年前由 AMD 和 NV 发布,可以让两种不同品牌的显卡协作运行。例如,Radeon Mobility HD 4570 可以同 Intel GMA 一起工作,而不仅限于 AMD 的集成显卡。这种混合模式虽然能提升性能,但由于集显和独显不得不同时运行,对于笔记本的电池续航能力来说压力巨大,而且实际上一款主流的独立显卡已能运行所有的应用程序,没有必要利用混合技术来联合两种显卡的性能。当然,如果摒弃这类可大幅提升效率的技术是很可惜的,因此被综合进可切换显卡技术,单纯的混合图形技术已难见到。具体参见上面的 NV GeForce Boost 和 ATI Hybrid CrossFireX 。

可交换图形(Switchable Graphics)的主要益处在于笔记本允许用户选择需要运行的图形系统,就可以让计算机大多时间运行在集显模式下而达到节能目的。可交换图形的早期版本要求用户必须重启电脑才能完成图形切换,这是因为操作系统和图形驱动无法接收到切换指令,就不知道如何切换,导致用户一次只能启用一种显卡。图形切换完全由系统 BIOS 所控制,只有重启后,系统 BIOS 才能识别到底启用哪种显卡。这种通过纯硬件层面的切换操作并要求重启的方式对用户来说可谓一个相当糟糕的使用体验。比如 2006 年发行的 SONY VAIO SZ 笔记本正是使用此技术。显而易见,这个方案并未被广泛采用,但却展示了 PC 制造商势必要解决这个问题的决心。我们可以将这种切换方式称之为 第一代显卡冷启动切换

       第二种版本可以让用户采用软件控制而迅速完成图形切换且无需重启。Nvidia 于 2007 年发布了一个花了相当长时间来解决重启问题的技术:Switchable Graphics – Hybrid Power(混合动力)技术。该技术允许笔记本切换图形子系统而无需重启,这极大地改变了笔记本的执行和操作方式。切换过程要花上大约 5-10 秒。理论上用户第一次在一个笔记本上就能轻松遨游两个世界 – 手动切换至集显而拥有较长的电池寿命;手动切换至独显而获取高性能。这可以说是移动电脑发展史上的一个里程碑,并迎来了新一轮的笔记本 PC 时代。该技术被 OEM 厂商广泛采用,并且收到了很多技术性用户和传媒界的积极回馈。而 ATI 也推出了 PowerXpress 技术。将切换功能集成到催化剂控制面板和桌面右键菜单中,可快速打开切换选项;并且可设置为电池模式下自动切换为集显,电源模式下则自动切换成独显。我们可以将第二种切换方式称之为 第二代显卡手动热切换,因为它是由用户决定,而非系统根据负载情况而自行切换。目前 AMD Mobility HD 4000/5000 系列显卡主要采用这种方式,例如 Y460A/Y560A。

      不同于几年前不成熟的方案,可交换图形技术主要由软件进行驱动,图形驱动程序和操作系统可以启用此功能。其他 PC 图形企业也迅速跟进,并提供了各种版本的可交换图形技术。随着可交换图形技术的到来,当运行密集型任务时,用户能够从独显中受益;而当任务较少时切换至集显以维护电池寿命。从功能上讲,两个独立的图形核心通过使用一个硬件多路复用器共享了显示输出,多路复用器能提供多路输入切换的设备,用于引导两个图形核心之间的渲染和显示任务。一旦活动的图形核心(集显或独显)准备好输出一幅已渲染的场景或图像,硬件多路复用器将会按照可交换图形驱动的指令切换至正确的显示设备,以便视频输出能被传送至所需的显示。

可切换显卡技术的数据逻辑流程图:

2

      为了让系统在集显跟独显之间切换,用户必须在可交换图形的显卡切换程序(Applet)中手动更改设置,该专用工具会提供一个简单的菜单(比如 AMD 显卡可通过桌面右键菜单打开“可切换显示卡”选项)来让用户根据工作负载选择一个合适的图形核心。一旦完成选择,切换指令信息会通过 Windows 7 的标准 API 接口传送至可交换图形驱动层,系统 BIOS 接到信息后便会打开用于启用或禁用独显的接口,可交换图形驱动此时即可完成启用或禁用独显的操作,随后便开始加载或卸载独显驱动程序,以便切换后的显卡核心能正常工作。上面是软件层面的操作,而在硬件层面也会同时发生转换,多路复用器将会按照可交换图形驱动的指令切换至正确的显示设备,并转移相关的显示缓存数据,以便显示能被正确输出。实际上,可交换图形驱动程序作为一个代理显示驱动(Proxy)或中间层驱动,在不停地将系统信息传送至跟当前活动的和已启用的显示设备相关联的图形驱动。

       遗憾的是,可交换图形技术虽然带来了一个新的 PC 功能,为带有独显的笔记本大幅增加了电池寿命,但仍然存在一些重要的可用性问题和功能性问题,导致用户很少能获得预期的效益。以下几点不足之处:

1、手动模式切换 – 当需要在集显和独显之间切换时,用户每次都要更改设置。如果用户在启动游戏前忘记了启用独显,就不得不退出游戏,并再重新进入游戏前切换至独显。

2、切换时间 – 切换过程中需要操作系统交换显卡驱动和转移显示缓存而产生了切换时间,因为 Windows 不允许一个显示适配器同时启用两种显卡驱动,由于多路复用器和驱动程序的加载和卸载过程,通常有 5 到 10 秒或更长的时间延迟才能完成集成显卡和独立显卡之间的切换。从集显切换到独显的时间要比独显切换到集显的时间要更长。

3、应用程序阻止切换 – 通常应用程序会阻止模式切换,3D、视频应用程序、诸如接龙和扫雷之类的游戏都将会导致这个问题。在系统允许在集显跟独显之间切换前必须关闭这些应用程序。如果用户忘记关闭 3D 或视频应用程序,他们通常不会意识到图形模式其实还未如预期一样切换至集成显卡。

4、屏幕闪烁 – 由于驱动的载入和卸载,以及多路复用器的电路切换,在集显与独显的系统切换过程中会发生屏幕闪烁。这可能会是一个烦恼,甚至让用户紧张,错以为是系统出现了故障。

5、成本增加 – 显卡切换依赖于额外的数字逻辑电路,包括多路复用器和附加的显示接口。使用多个多路复用器会导致硬件布局极其复杂,会占用主板上的额外空间和大幅增加线路长度,因为每个显示接口都需要被路由两次。结果导致削弱了信号的完整性,并且需要额外的 PCB 面板层,相比标准平台也就增加了材料成本和复杂性。

      以上的问题导致用户很少进行切换,他们很少知道当前的图形运行模式(Y460/Y560 有指示灯的,表示无压力),也不愿关闭当前影响切换的应用程序,甚至不知道如何切换(汗!!!)。这就迫切需要一个新的解决方案,可以让用户在需要时就可以用于独显的高性能,而需要延长电池寿命时又运行在集显模式下。理想地说,就是无需用户干涉就能在后台自动完成切换。为了克服上述障碍,那么新的技术是呼之欲出!(实际上出了之后,很多用户暴瀑汗中,比如 Y460N)。

      第三种版本就是“CrossDisplay”交叉显示:移除了多路复用器,仅使用集成显卡输出显示,独立显卡只负责渲染处理。集显模式下,独显处于低能耗或关闭状态,直到应用程序要求独显进行渲染;独显模式下仍然通过集显显示引擎输出。这个版本在独显和集显之间的切换是通过应用程序的触发完成的,无需重启,无屏幕闪烁,瞬间无缝完成。应用程序及触发规则等配置文件可自动更新,用户也可以自定义应用程序列表和其运行方式。我们把这种切换方式称之为 第三代显卡智能切换,目前 Nvidia GeForce 200M/300M/400M/500M 移动显卡都采用这种方式,比如 Y460N,Y470N 等。

3

这类技术包括 Nvidia 的 Opitmus 和即将公布并投入实用的 AMD PowerXpress 4.0。

Nvidia Opitmus

       Optimus 优驰技术是 Nvidia 2009 年公布的一项新的切换技术,该技术创新地结合软硬件,自动、无缝、瞬间提供出色的性能和更长的电池寿命。Optimus 系统吸引了大量关注,它可以根据检测应用程序的需求而在集成于芯片组或处理器上的低功耗显卡和高性能显卡之间进行动态智能切换。利用 Optimus 技术,显示输出永远都只会通过集显显示核心,独显的显示输出将会被禁用。由于显示输出是固定不变的,所以切换时不会产生黑屏现象,多路复用器亦变得多余,因为计算机不再需要独显的显示核心。两种显卡之间的协议分工由驱动程式负责,NVIDIA 声称可以兼容所有的 API。为达到更好的智能识别效果和传输性能,NV 专门设计了 Optimus Routing Layer(软件)和 Optimus Copy Engine(硬件)[路由层和拷贝引擎]。

Optimus 路由层 包含在 Nvidia 显卡驱动的硬件接口层中,主要提供智能图形管理,包含了一个核心级的数据库以识别和管理特定的与不同图形设备相关联的类和对象。当某个程序启动时,路由层可以根据程序的要求和负载情况自动判断是否启用独显。当遇到以下三种情况,它会发送一个信号以启动独显:

DX 调用: 任何 3D 游戏引擎或 DirectX 应用程序都将会触发
DXVA 调用: 视频播放将会触发 (DXVA = DirectX 视频加速)
CUDA 调用: CUDA 应用程序将会触发

4

       当某些 3D 程序或游戏在智能模式下无法启用独显时,用户也可以打开 NV 控制面板,在“管理 3D 设置”的全局设置中将首选图形处理器设为“高性能 Nvidia 图形处理器”,以强制运行独显。虽然这毫无疑问因为用户的介入而变成了手动切换,看似与智能切换的设计初衷背道而驰,但在智能切换不断完善直到完美之前,不失为一种备选方案。

Optimus 拷贝引擎 将替代传统的 DMA(直接内存通道)传输器。传统的 内存-内存 DMA 传输控制器是由 3D 引擎所执行,为了保持一致性,3D 引擎直到帧缓存传输完成后才会执行渲染工作。这种耗时的 DMA 同步操作牵制了 3D 引擎,并对性能造成负面影响。Copy Engine 依靠 PCI Express 总线的双向带宽,允许同时执行 3D 渲染和拷贝显示数据。拷贝引擎将独显的计算结果从显存搬移至集显所使用的系统内存之后,集显就开始读取已输出的帧缓冲数据,然后通过显示接口输送至显示器。这种异步的 DMA 操作保证了数据的一致性,由于独显的显存控制器不需要参与拷贝过程,只专注图像计算,因此丝毫不会影响图像引擎渲染速度,并且在性能和效率方面都有大幅提升。

5

Optimus 配置文件

      Optimus 技术的一个重点就是使用了启动独显的应用程序列表文件,每一个应用程序都具备自己特有的 Optimus 配置。应用程序的配置文件基于 GPU 是否能提升质量、性能、低能耗或是功能性的。这样做,Optimus 就能避免在非必要情况下启动独显。

      如果一个应用程序还没有自己的配置文件,Nvidia 会运行该程序并通过一系列核查和验证过程来确保最高的质量和体验。一旦通过验证,更新的配置文件将被托管在 NVIDIA 的 Web 服务器上,然后自动推送至终端用户。如果用户不希望自动更新,他们可以在 NVIDIA 控制面板禁用这个功能。刚上市的新游戏可能还没有 Optimus 配置文件,NVIDIA 创造了一个独特的解决方案 – NVIDIA 托管的 Web 服务器将推送 Optimus 配置文件至终端用户。用户也可以自定义配置文件或创建一个新的配置文件。

6

PowerXpress 4.0

       AMD 新的显示切换技术细节已经泄漏,就让我们来一窥将与 Nvidia Optimus、Intel Ivy Bridge 图形交换方案相较量的 AMD 智能切换技术。PowerXpress 4.0 基于“Bus Alive, Chip Off”技术,是在 PowerXpress 3.0 基础上的改进,移除了在图形输出设备之间要求电路切换的多路复用器。使用 PowerXpress 4.0, AMD 将充分利用 FUSION APU 和更强大的独立显卡为笔记本电脑提供高性能和更长的电池寿命。

       Bus Alive, Chip Off (BACO),字面意思就是关闭独显芯片,但总线保持连接状态。即是保持数据连接和基本的专用集成电路供电(ASIC),但不参与处理和渲染工作。当驱动程序检测到要求使用独显的应用程序启动时,系统就会退出 BACO 模式,独显开始通电并启动,这大概会给应用程序启动进程增加大约 150 毫秒的时间;应用程序终止后,独显重新进入 BACO 模式(仅 ASIC 供电),此时独显功耗约 150 毫瓦。对于整个系统,处于 BACO 模式的独显仅仅增加大约 200 毫瓦的功耗。这就是延长电池寿命的关键,并保证现今移动用户所冀望的平滑流畅的使用体验。

       PowerXpress 4.0 的目的是为了提供一个平滑无缝的切换操作,让用户获得更好的使用体验。优先于让用户采用集成显卡来延长电池续航时间,比如 Windows Aero 和其他的桌面组合操作等。在设备管理器中将仅能看到集成显卡,如同多面板输出管理一样简化了设备安装和升级。催化剂 11.4 早期预览版显示了 AMD 平台系统在视觉引擎控制中心和催化剂控制中心中会获得更多的系统控制选项。其中就包含了 PowerXpress 4 的控制选项,可以选择想要使用的 GPU,使用电池时切换至低能耗显卡等。

我们来定义以下两个简单的等式:

PowerXpress 3.0 = MUXed + MUXless
PowerXpress 4.0 = PowerXpress 3.0(固定方案)+ Dynamic Scheme(动态方案)

7

MUXed:MUX = Multiplexers(多路复用器);MUXed = 独显渲染+独显输出 / 集显渲染+集显输出,集显跟独显可以通过用户直接控制多路复用器电路来进行切换(联想的硬切换开关正是基于此),目前 AMD Radeon Mobility HD 5000 系列(例如 Y460A/Y560A)都是典型的这种平台。当独显工作时,集显和独显同时在设备管理器里显示,在设备管理器里删除集显,不产生任何影响。在设备管理器里删除独显,集显接手图形工作。当集显工作时,设备管理器里不显示独显。

MUXless:顾名思义,无多路复用器。去除多路复用器的原因是它始终使用集显进行显示输出,就不再需要在集显输出和独显输出之间做转换,多路复用器自然就无用武之地。去除之后还可以降低成本,简化了设计和核查工作,缩短了产品上市时间。MUXless 采用 CrossDisplay 交叉显示技术,允许一个图形控制器使用另外一个图形控制器的显示引擎进行显示输出。交叉显示技术将独显渲染的帧画面传送至集显共享内存,以便集显显示引擎驱动所有的显示输出。该技术始终使用集显的显示引擎,而无论是集显模式或是独显模式。在节能模式中禁用独显时,将停止对独显的供电。当独显工作时,在设备管理器里删除集显,桌面分辨率会改变。或者在设备管理器里删独显,桌面分辨率也会变。当集显工作时,设备管理器里不显示独显。MUXless 模式下,相关的显示调整项目在独显的控制面板被隐藏了,只有集显的属性控制面板才能控制与显示相关的项目,比如分辨率,颜色,监视器等。(联想新发布的 IdeaPad Y470N/Y570N 采用的 Optimus 智能切换技术原理和这大致一样,联想在 Y470N/Y570N 上设置了一个硬件开关,并说明是启用或禁用 Optimus 技术:当启用时,计算机处于智能切换状态,独显依然靠应用程序的触发而启动,这跟 Y460N 并无二别;当禁用时,实际上就是完全屏蔽独显,计算机处于集显渲染+集显输出状态。因为在这种平台架构下,独显的显示引擎完全被废除,仅仅依仗集显进行显示输出,集显不可能也无法被禁用。因此就无法像 MUXed 那样通过硬切换来控制多路复用器电路转换显示输出以达到完全切换图形处理器的目的。那么联想为何还要设置这么一个以假乱真的“切换”开关,我想大概可以从 Y460N 上找原因吧,因为用户期待这样,哪怕是外观一摸一样。)

8

Dynamic Scheme:平滑无缝的独显操作。集显一直处于工作状态:桌面组合(Aero)总是工作于集显模式下,集显驱动所有的显示输出;显示器通过集显与操作系统相连接。当系统载入 D3D 内容和与独显相关联的应用程序配置文件时,独显开始工作。要求具有 BACO 特性的 GPU 支持。已知具备 BACO 特性的 GPU:Vancouver 温哥华系列(HD 6000M)的 Robson(洛布孙)/ Seymour(西摩)/ Whistler(惠斯勒)。

9

10

PX 3.0 适用平台:AMD Danube(多瑙河)/Intel Calpella 移动平台(包含第一代智能英特尔酷睿处理器)
PX 4.0 适用平台:AMD / Intel Huron River“休伦河”移动平台(包含第二代智能英特尔酷睿处理器)

在催化剂控制中心中,PX 4.0 列出了三种显卡工作模式以供选择:

1、仅固定方案 (PX3.0):集显模式下,独显关闭。
2、固定方案 + 动态方案(如果可用的话)
3、仅动态方案:允许用户为每个应用程序渲染选择 GPU;独显空闲时进入 BACO 模式。

11

Y460A/Y560A 下的 MUXless 方案实战

先看截图:

12

13 14

15

16

      打开催化剂控制中心,进入“可切换显示卡方式”选项,我们可以清晰的看到 AMD 的下一代切换方式是采用手自一体的,所以担心智能切换还不够智能的同学可以放心了,因为还有备选方案。这时系统会自动尝试选择第一种智能切换模式,但由于Y460A/Y560A 的平台不支持,于是可耻地选择了第二种手动切换方式。但总归保存了一点颜面,虽然也是手动切换,但跟以前的(MUXed )手动切换是不一样的,所以好歹也体验了一下智能切换的一丁点特色:独显模式下 – 独显渲染+集显输出。MUXless 方案下,因为只采用集显输出,所以系统的稳定性较 MUXed 方案下似乎更好,解决了以下已知问题:Windows 7 SP1 系统下,使用 A 卡最新驱动导致将鼠标指针移动到屏幕右上角时发生卡顿现象;在双显卡(A卡)系统下,使用最新驱动在系统重启时,当屏幕关闭后指示灯仍然亮达 5-10 秒之久;在双显卡(A卡)系统下,使用最新驱动时,71 BIOS 跟电源管理冲突问题,比如无法调节亮度等。

       但这并不意味着在我们目前的 Y460A/Y560A 平台上使用 MUXless 方案全无弱点。在独显模式下游戏性能会较 MUXed 稍微减弱。就目前的测试来看,Windows 7 系统评分并无变化,3DMARK 下降几十分左右,游戏时下降 1-3 帧。至于原因,我们来看看以下简单的游戏数据处理至显示输出流程:

MUXed 独显模式:
硬盘 → 内存 → CPU → 显存 → dGPU → 显存 → 独显显示控制器 → 显示器

MUXless 独显模式:
硬盘 → 内存 → CPU → 显存 → dGPU → 显存 → 内存 → 集显显示控制器 → 显示器

通过比较,我们可以看出在 MUXless 模式下,多了一个环节,就是“显存 → 内存”,让我们返回至 Optimus 是如何完成这个环节的,Nvidia 专门设计了一个拷贝引擎模块以完成将独显渲染好的帧缓冲从显存搬移至内存,这种异步操作就不会影响到 3D 引擎的渲染工作。而显然 Y460A/Y560A 并无这种设计,因此 3D 引擎渲染速度受到影响,造成性能略降的结果。当然将来原生支持智能切换的 A 卡会增加类似的处理而不会有任何问题。

在集显模式下,并无差别。MUXed/MUXless 集显模式:
硬盘 → 内存 → CPU → 共享内存 → iGPU → 共享内存 → 集显显示控制器 → 显示器

固定链接: http://www.liuyongkang.com/archives/588.html | 刘永康的博客

当下流行的各种双显卡智能切换技术简介:目前有1 条留言

  1. 苏州SEO : 2011年05月29日 下午 5:15 回复

    电子产品,更新换代很快的,

给我留言

/ 快捷键:Ctrl+Enter

留言没头像?这里教你设置头像!