CPU 与 GPU 的区别
在介绍 WebGL 之前先来了解一些前置知识,也就是 CPU 和 GPU。
CPU 和 GPU 都属于处理单元,但是结构不同。形象来说,CPU 有点像大型的传输管道,等待处理的任务只能依次通过,所以 CPU 处理任务的速度取决于处理单个任务的时间。又由于 CPU 内部结构异常复杂,能够处理大量的数据和逻辑判断,所以处理一些大型任务是足够的。但是处理图像却不在行,因为处理图像的逻辑通常不复杂,但是由于一幅图像是有成千上万的像素点构成,每个像素的处理都是一个任务,如果由 CPU 处理,那简直就是大材小用。因此就需要用到 GPU。GPU 由大量的小型处理单元构成,处理能力没 CPU 强大,但胜在数量多,并且能够并行处理。
渲染管线
在渲染过程中需要 CPU 和 GPU 之间的通力合作。CPU 如同进货的卡车不断地将要处理的数据丢给 GPU,GPU 工厂调动一个个如工人一般的计算单元对这些数据进行简单的处理,最后组装出产品——图像。