通过上诉介绍,玩家肯定对Lucid Hydra技术独特的X-Mode兴趣浓厚,那它是如何绕开NVIDIA和AMD实现这个“冤家”聚头功能的呢?要想解读这个问题,先要了解一下GPU的架构和图形处理过程。GPU处理3D图形与制作动画片一样,把一个动作分解成若干幅图片,当这些图片连续播放机看到画面里面的人物动作起来。在计算机图形处理中,每一幅图片叫做“帧”。
从下图可以看到,CPU画完的一帧画稿A送到GPU的几何处理器,几何处理器负责处理多边形并依据这一帧中物体的实际位置处理前后关系,物体移动导致的遮挡以及光照阴影等。几何处理后的B送到像素处理器,在这里根据物质的质地进行纹理处理,添加阴影,光照效果和色调变化。经过处理的这一帧放到帧缓冲,然后送到显示器显示出画面C。
计算机图形处理流程图
简单了解GPU架构和图形处理过程后就很容易了解多GPU技术,从软件技术上看,目前主流的多GPU技术原理基本相同,包括CrossFireX/SLI/Lucid Hydra都采用了交替帧渲染和分割帧渲染技术。
交替帧渲染(Alternate Frame Rendering)就是让每个GPU处理不同的帧,比如GPU(A)处理第N帧,GPU(B)处理N+1帧,然后GPU(A)再处理N+2帧。依此类推,其优点是当游戏画面变化较快或者说是两帧画面大部分不相同时,渲染效率极高。如果两帧画面大体不变,只是某一景物发生变化,两块显卡此时就会重复渲染大量相同数据从而使得双卡互连系统效率降低。
分割帧渲染(Scissor Frame/Split Frame Rendering)就是把一帧画面分成两部分,分别交由两块显卡独立渲染。由于游戏画面复杂多变,如果平均分割画面一定会造成两块显卡负载不同从而影响效率。因此分割帧渲染需要良好的性能缩放比率和动态负载平衡技术,使得驱动程序大限度的平均分配负载,以达到性能提升的大化。
既然技术原理上大家都相同,那Lucid Hydra又是如何区别于SLI和CrossFireX实现混合并联的呢?其实,从硬件上讲,实现上述的技术必须有专用硬件支持,基本的硬件支持就是帧交替或分割处理的硬件以及两个GPU之间的通信联系。NVIDIA的SLI采用MIO模块通过桥接使两个GPU相互联系。AMD的CrossFireX采用CrossFireX引擎通过桥接使两个GPU相互联系。而Hydra芯片没有使用类似于NVIDIA和AMD的引擎(MIO模块)加桥的封闭式硬件结构。Hydra芯片自身就能完成帧交替或分割处理,同时通过PCI-E总线连接两个(或2个以上)GPU,完成通信功能。
从Hydra芯片框图看到,它植入了一颗RISC处理器,由RISC处理器执行帧交替或帧分割处理,RISC处理器通过RISC的DMA(直接内存访问)和GPU的DMA交换数据。从硬件设备角度看,Lucid的Hydra首先打破了AMD卡和NVIDIA显卡的深沟壁垒,使多GPU通用化。从硬件原理看,Lucid的Hydra应当有更优秀的性能。
Hydra芯片框图
但是显卡并联技术的实现还离不开软件的支持,而Lucid自己并不针对一家的显卡,因此其Hydra需要面对的是两家显卡的驱动和各种游戏引擎进行在开发。所以它配套软件开发的难度比NVIDIA和AMD都大。