N卡号还是A卡好

更新时间:2016-05-30本文内容转载自互联网
N卡和A卡两家架构问题要深究就得写一本书了。下面就简单通俗的介绍一下,方便初学者理解。在DX9以前的时代,两家的架构主要由像素单元、顶点单元、纹理单元、光栅单元组成,一个渲染流程的所有单元绑在一起组成一条渲染管线,管线越多,性能就越强。而3D游戏的画面以4D指令居多像素有RGBA,顶点有XYZW,这些单元就被设计成了一次能处理4D指令的处理器,属于指令级并行架构,对于当时的游戏环境来说这种架构效率很高。但到了DX9后期甚至DX10时代,游戏中的1D、2D、3D指令开始频繁混合出现,像素与顶点的渲染比例也有了改变,原先的架构就变得效率低下了,比如一个单元一次能处理4D运算,当碰到1D运算时就只用到4/1的资源,剩下3/4的资源就闲置掉了,相当于效率降低了4倍。而有些游戏的像素渲染量明显多于顶点,那么这些数量比例固定的单元就效率低下了,比如像素单元吃力的时候,顶点可能比较空闲,非常浪费硬件资源。为了解决这个问题,NV和ATI就对各单元的数量比例进行了调整,但都治标不治本。这时候重新设计新的架构成为了必然。结果,从DX10时代起,两家的架构就起了翻天复地的变化。当两家DX10产品面市后,人们惊奇的发现,竟然是两种不同的架构。N卡的架构思路很简单,用强大的前端处理器把所有指令拆分成一个个1D指令,而下面所有运算单元都变成了1D单元流处理器,这些流处理器都能当做像素和顶点单元来使用,这样不管碰到什么类型的指令都能“一拥而上”,完全解决了DX9时代固定单元的弊端。为了保证指令分派的高效率,这些流处理器都分成几大组管理,每一组都具备完整的前后端及缓存单元,每个流处理器都对应独立的控制单元,效率几乎达到100%的理想程度,是标准的线程级并行架构,也是追求高效率的理想架构。N卡的架构看上去很完美,但缺点也很明显,要想增加运算单元,必需以组为单位进行扩充,这样连带的前后端控制单元、功能单元和缓存都会成正比增加,晶体管消耗严重,所以在相同晶体管数量的情况下,N卡能做的流处理器就相对少很多。在流处理器数量相对少的情况下,处理4D指令时又会显得性能不足因为要耗费四个流处理器去处理一个指令,所以N卡的流处理器频率都会比核心频率高出一倍以上,以弥补数量上的缺陷,但高频率带来的翻倍流水线又再次消耗了大量晶体管,最终结果就是功耗巨大,制造难度极高。总结,N卡架构执行效率硬件资源利用率极高,灵活性强,在实际应用中容易发挥峰值性能。但运算单元较难堆砌,理论运算能力也受到较大限制。低良品率和功耗问题也一直如影随形。A卡方面,也是采用通用的1D流处理器做为执行单元,每5个流处理器为一组,每组一次最大可接收一条5D指令而N卡接收的是1D指令,在前端上就把所有指令打包成一个个5D指令发下去而N卡是拆分成一个个1D发下去,当接到5D指令后,下面的5个流处理器就可以并行执行,属于指令级并行架构,又被称为5D架构,这样的设计可以实现高指令吞吐。同时控制单元与运算单元可做到分离,流处理器的增加不会牵动其它单元,晶体管消耗较少,所以A卡的流处理器数量一般都能做到N卡的4-5倍,芯片面积反而较小,理论运算能力也远强于N卡,功耗也相对要低一些。但是,A卡架构的缺点也很明显,虽然理论计算性能强大,但较少的控制单元限制了其指令调度效率,下面流处理器越多,前端压力就越大。一旦碰到混合指令或条件指令的时候,前端就很难实现完整的5D打包,往往变成3D、2D、1D的发下去了,造成每组流处理器只有3、2甚至1个在工作,几乎一半的单元浪费掉了,再加上每个5D包里面可能存在最糟糕的组合比如有先后关系的指令被包到了一起,常常导致部分指令被踢出去再走一次打包运算的流程。程序要想针对这种架构优化,必需减少混合、条件指令的出现需要耗费程序员的大量精力,或杜绝这是不可能的。所以在软件优化度上A卡也是处于劣势的,常常无法发挥应有性能。总结,A卡架构优势在于可以方便的扩充运算单元,实现强大的理论运算能力,晶体管消耗较少,功耗容易控制。但流处理器扩充得越多,效率就越低下,对于复杂多变的任务种类适应性不强,如果没有软件上的支持,常常无法发挥应有性能。所以A卡除了需要游戏厂商的支持外,自己也要常常发布针对某款游戏优化的驱动补丁造成A卡发布半年后,还可通过驱动提升性能的现象。小节:两家在DX10架构上走上了完全相反的设计路线,而且都走得很极端。NV选择的线程级并行路线在实际应用中表现出了良好的性能,但这类架构的弊端就是庞大的晶体管规模和制造难度,功耗也很难控制。而AMD对指令级并行架构的信心来自于DX9时代的辉煌,毕竟3D游戏中的4D指令还是占了较大比例,其庞大的运算单元有着很大发挥空间,但指令调度限制较大,效率低下的问日趋严重。如果两家都没有解决自身缺点的办法,那么终有一天会撞到南墙果然,在DX11后就同时撞上了在物理加速技术方面,全球主流的是Havok技术,目前为INTEL所有,平台支持度高,各领域巨头包括AMD也都默认对其支持,可以说是最通用的技术,在游戏支持度上占了60%以上市场份额。但该技术偏重CPU处理少部分可由A卡协处理,性能比较有限,可展现的效果规模较小。而物理技术的另一股新势力就是AGEIA公司的PhysX技术,硬件上以独立的加速卡形式存在,性能专一且强劲,能够展现更复杂的物理效果,但该技术并不开放,需要购买加速卡才能实现,限制了其支持度。自08年NV收购AGEIA公司后,PhysX技术就变成N卡专属,在DX10以后的N卡中都集成了PhysX物理引擎,但封闭的策略还是没变,要想实现PhysX物理效果,用户必需拥有一块DX10以上级别的N卡,这对于游戏厂商来说是比较冒险的,如果“性能足够”的N卡硬件用户量不足,那么软件厂商就亏大了,加上这类只能由特定硬件实现的技术很难用在多人对战游戏上因为游戏中所有玩家互动结果和视觉障碍都要绝对一至,所以采用PhysX技术的游戏数量至今也没占到主流,很多厂商宁可对N卡优化,也不支持PhysX技术。不过NV通过强势的营销策略,甚至有些时候是“非常规”的营销,为人所知,市场前景也是被看好的。总结:在物理加速技术上NV属于剑走偏锋型,企图利用封闭的技术搞垄断排挤与索尼的储存卡记忆棒有点相似,但要排挤主流的INTEL、AMD阵营是极其困难的,毕竟在硬件占有率上INTEL、AMD的CPU就占了97%以上市场,即使是显卡市场也是INTEL占了大头,这种垄断地位极难攀越。结局是否和索尼一样我们不得而知。目前来看,支持PhysX技术的游戏只相当于Havok的三成左右,数量不占优势,而很多初学者把支持物理加速技术和游戏优化的概念搞混了,以为针对N卡优化的游戏就采用PhysX技术,其实这两者没有什么关系,针对N卡优化的游戏虽然较多,但采用PhysX物理技术的游戏是比较少的。这方面两家算是不分胜负,不过在选购上N卡又多了个筹码。高清解码方面,自蓝光战胜HD-DVD后,市场上高清片源开始增多,但高清影片播放时的解码任务对当时的双核CPU来说是非常吃力的,中端以下CPU全线投降,这时候NV和AMD适时的在DX10架构中加入了高清解码功能,分担几乎所有的CPU工作,让低端CPU也能流畅的播放高清电影。当时高清格式主要有三种,奇怪的是N卡只支持一种格式的完全解码,这就导致N卡玩家在播放别的格式高清影片时CPU还是非常吃力,甚至卡顿;而A卡则支持了双格式解码剩下一种格式运算量不大,CPU能搞定,这样A卡用户即使在入门级的CPU下也可以流畅播放高清了,CPU还有大量余力干别的事。从此A卡适合看电影的说法就流传下来了。不过N卡到了DX11架构后也支持了双格式解码,解码能力终于可以向AMD看齐,不过这时候CPU已经发展了三四代,入门级CPU都可以应付高清播放,显卡的解码能力已经没那么亮眼了。总的来说,A卡和N卡在游戏中的表现是各有优劣,在多数游戏测试中都是互有胜负,可以说是平分秋色。而“N卡玩游戏好,A卡看电影好”这种中国式谬论我们还是少听少说为好,否则会极大的限制你技术水平的长进。N卡和A卡虽然架构有别,但为了与各类软硬件兼容,都是遵循一定的标准进行设计,所以在性能的实现上都是一样的。而单机游戏厂商每一款大作的推出,都是里程碑式的宣传效应,单机游戏厂商的支持倾向也成为了两家必争之地,所以我们常常会在单机游戏大作中轮番看到两家品牌标志。而这个现象则导致了相当数量的初学者进入了一个误区:谁家支持的游戏多,谁的显卡就好。其实事实并没有这么简单,每个卖游戏的厂商眼中永远只有玩家数量,不会傻到为了某一家而放弃另一家,所以即使宣称专为某家显卡优化的游戏,也会给另一家显卡留下相当程度的后路,所以在多数游戏测试中即使两家显卡互有胜负,其差距也不大。而网络游戏方面,玩家数量就是游戏商的生命,巴不得老爷机的玩家都能玩自己的游戏,所以除了对硬件要求较低以外,对两家显卡的支持更不会有什么区别。
有用 1 无用 0 我要提问