如题所述
每个流处理器当中都有专门高速单元负责解码和执行流数据。片载缓存是一个典型的采用流处理器的单元,它可以迅速输入和读取数据从而完成下一步的渲染。主要作用是去除物体边缘的锯齿现象。 流处理器多少对显卡性能有决定性作用,可以说高中低端的显卡除了核心不同外最主要的差别就在于流处理器数量,但是有一点要注意,就是NV和AMD的显卡流处理器数量不具有可比性,他们两家的显卡核心架构不同,不能通过比较流处理器多少来看性能。以下论据来源于网络,不代表ZOL官方观点,如读者有任何见解可以点击右侧微博讨论,会慎重考虑读者的意见后可修改此文内容:NVIDIA标注的是Stream Processing(流处理器)数量,AMD-ATI标注的是Stream Processing Units(统一渲染单元)数量,也可以叫流处理器单元。二者是不同的东西,根本无法比较NVIDIA的流处理器每个都具有完整的ALU(可以理解为数学、逻辑等运算)功能。NVIDIA从G80以后采用全标量设计,所有运算全都转为标量计算。但是这么做一旦遇到4D矢量运算时,就需要4次运算才能完成,所以NVIDIA显卡的Shader频率几乎比核心频率高一倍,就是为了弥补这个缺点。NV的流处理器都具有完整的ALU功能,所以每个流处理器消耗的晶体管数量较多,成本较高。在加上现在的CUDA功能所以晶体管数量大幅多于AMD-ATI。AMD-ATI从RV670以后,流处理器是5个固定的统一渲染单元为一组,4D矢量+1D标量组合。其中4个只能进行MADD(乘加)运算,1个可以进行超运算(函数等运算)。因为是5个固定为一组,不能拆分,所以遇到纯标量运算时就会有4个SPU处于闲置状态而无法加入其它SP组合协助运算。但换句话说如果分配得当让每个SPU都充分工作,那么AMD显卡的效率可是非常高的。这也是玩家公认A卡驱动提升性能比N卡要高,但也就是这个原因导致A卡驱动设计难度非常高,游戏想要为A卡优化的难度也一样很高。在说下NVIDIA的PhysX物理加速,NVIDIA-PhysX物理加速和PhysX物理加速是不同的。PhysX物理加速最好有一个独立的浮点处理器,因为GPU的浮点运算比CPU强,所以NVIDIA选择让GPU担任这个浮点处理器的角色,。NVIDIA现使用的PhysX全称为PhysX for CUDA,也就是说现在用的PhysX是建立在CUDA的基础上。必须要有一块支持CUDA的GPU才能使用NVIDIA的PhysX物理加速,所以AMD-ATI可以一边凉快去了。NVIDIA现在就是要用PhysX for CUDA来打压AMD,而不是想将PhysX物理加速搞成通用技术。物理加速还有Havok,已经被INTEL收购。Havok只需要一块CPU即可实现,INTEL和AMD的CPU都支持Havok物理加速。就使用情况来看Havok所占的比例是压倒性的。不过INTEL收购Havok的目的就是为了在GPU领域分一杯羹,所以也不会便宜AMD,AMD也可以一遍凉快去了。NVIDIA有PhysX,INTEL有Havok,AMD啥也没有。不过现在出现了OPENCL,AMD好像终于看到了一线曙光。物理加速将来必火,但现在的PhysX和Havok都还缺乏通用性,一家一个标准只会妨碍行业发展。不过现在出现了开放性的OPENCL标准有望成为新的通用标准,NVIDIA也有意将CUDA转嫁到OPENCL上,如果这么做的AMD-ATI也将可以使用PhysX,不过OPENCL好像不得微软的待见,所以以后的事情谁知道呢就目前GPU性能来看PhysX使用GPU加速还有不足,因为3D游戏过程中GPU基本都是满载状态,无法闲出足够性能来做PhysX运算。而CPU在3D游戏过程中很少有长时间满载的情况,这也是Havok CPU加速的优势之一。所以众N饭也别总拿PhysX当做贵族标准,现在的PhysX for CUDA是个短命种,如果NVIDIA不想别的办法,PhysX for CUDA肯定会夭折。
温馨提示:答案为网友推荐,仅供参考