前言:
最近在整理以前的笔记时,看到了这部分的知识,记得得比较分散,在这里将他们整合起来。
在游戏优化中,实际上主要都是在围绕着CPU和GPU这两大块进行的,在上学的时候,学过计算机原理之类的课程时,就对CPU有了很全面的讲解,但我早已经还给了老师。
直接上Nvdia的链接吧:
https://www.nvidia.cn/object/what-is-gpu-computing-cn.html
要理解GPU和CPU的区别,一种简单的方式就是比较他们如何处理任务。
什么CPU?
(Central Processing Unit) 中央处理器,计算机的大脑,用于处理各种指令。位于主板上。
比如一些常规操作的处理,打开一个文档,打开某个程序,播放一段声音等,适合做有序的工作。
只有少数几个内核,并且是串行的。内核虽少,但是性能非常的强大(强于GPU),有强大的计算能力。
什么是GPU?
图像处理单元(Graphics Processing Unit),位于显卡上。
转一篇知乎:
https://www.zhihu.com/question/19903344
来一张NVDIA官网上最更直观的对比图:
上图是一个8核的CPU,旁边是拥有上千个内核的GPU,一个是串行的,进行有序的工作,一个是并行的,同时进行工作。大规模的数据运算。
CPU的ALU(算术逻辑单元)要明显少于GPU,所以在大规模数据运算上,GPU更擅长。
简单总结下:
CPU内核比较少,而且是串行的,主要做一些常规的操作,如打开文档,打开程序,播放声音等一些有序的工作,擅长一些逻辑运算,有高速缓存,可以提高数据访问的速度。
GPU则接受来自CPU的指令,有大量的内核,而且是并行计算的,所以能够完成大规模的数据运算,比如游戏中我要将3D模模型数据,即几何数据进行大量的运算并最终呈现,在金融,密码破解方面等等,这都需要大量的并行运算。这也是为何比特币挖矿要用显卡的原因。
更简单的总结是CPU是串行的,适合做一些有序的工作。而GPU是并行的,适合处理大规模数据的运算。
虽然CPU的内核少,但他的性能要远强于GPU的内核。后者是人海战术。
CPU和GPU有着不同的分工,所以无法相互替代。CPU更擅长分支预测,而GPU负责处理大量数据的运算。
在上面提到的NVDIA的官网中,有个很形象的视频来对比CPU和GPU的区别,非常有趣,但是很经典,我想很多人都看过。