直到3d时代来临,一个物体要在空间里经过变换,还要进行光照处理,数学运算能力的重要性才得以体现;而且一开始这些运算也是在cpu上完成的,显卡更大的意义在于光栅化,当时的1x跑在cpu上也是很正常的情况。

        gpu这个词是rce256时提出的,当时内部集成了硬件固化的;l(光影转换)单元,故名思意就是做空间变换与光照处理,至此,gpu的浮点运算能力算是有了开端。

        虽然此时显卡(gpu)的地位被稳固下来,但在很长时间以来也没有人想要拿进行对比,毕竟gpu不仅仅是运算那么简单,几何体的变换裁剪,光栅化,纹理的读取,后期aa……这些功能过于专用化,cpu只能模拟,显然是吃亏的。

        当时的处理方案是显卡把运算单元划分给顶点和像素两个阶段,不同显卡为两者分配的计算资源比例不同,也使其在不同游戏下表现出不同的性能。

        而到现在还能看到图形api流水线里的vs、ps阶段,一直到前几年dx10开始,gpu的架构迈入通用架构,流处理器的概念被提出,gpgpu开始兴起,gpu这才终于有了和cpu比较的基础。

        从此,gpu的核心数越来越多,几十几百甚至上千。

        核心多的gpu就是适合做并行量大的工作,渲染一帧画面,多边形数上百万,互不影响(理想条件),最终画面达到1080p,像素数上百万,也互不影响(理想条件),这种良好的并行负载使得gpu的架构能发挥出巨大实力。

        但是cpu也并非没有这种使用场景,不然也不会从单核到双核又到四核。

        ……

        事实上两者的单精度运算能力的确差不多,但是换成几乎完全不能并行化的工作负载,例如48个在做不同工作的线程时,结果就不一样了,最终变成主频的战争。

        内容未完,下一页继续阅读