OpenGL ES 入门前

为什么要使用GPU编程

OpenGL 使用的的是GPU的高并发能力,那为什么要使用GPU而不是CPU了?

CPU是多指令数据流(MISD)体系结构,擅长的是做逻辑控制,数据处理时基本是单流水线的,所以我们写for循环代码时,CPU需要重复迭代的跑很多遍。

GPU是典型的单指令多数据(SIMD)体系结构,不擅长逻辑控制,但却有强大的并行计算能力,所以处理for循环代码只需要跑一遍,所以在图形界面中那么多的顶点、片段能快速的并行在显卡中渲染处理。GPU的晶体管是几十亿个,而CPU的晶体管通常只有几亿个。

最早图形处理是放在CPU上,后来发现可以在主板上放一个单独的芯片来加速图形绘制,于是命名为图像处理单元。后来NVIDIA把这个处理单元做强大,给它改了个称呼,叫GPU, 也叫图像处理器,再后来GPU就以比CPU高几倍的速度增长性能。

开始的时候GPU不能编程,也叫固定管线,就是把数据按照固定的通路走完。因为和CPU同样具有计算处理能力,所以就出来了可编程的GPU,最开始是用汇编语言编写,所以叫可编程管线。后来支持高级语言更加容易让GPU里面写代码,现在这些高级语言都被称为高级着色语言Shading Language,这些shader目前已经被广泛应用在我们的各种游戏中。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容