GPU和CPU在渲染或者作图中的作用?(高分)

GPU和CPU在渲染或者作图中的作用?(高分),第1张

不是作用不大 对于效果图的渲染,GPU根本不起任何作用!!
渲染 有两种 时时渲染,和最终渲染
显卡的工作,换句话说 显卡的职责,显卡最初的设计理论,当初为什么要设计,发明显卡 是为了解决3D时时加速的。 在当时的应用就是游戏,和3D应用。显卡的工作就是多边形生成和纹理贴图。
在3DMAX中间 4个透视窗口中我们建立模型是依靠显卡GPU进行运算的,时时计算3D加速 支持OPENGL或者D3D 这些都是时时渲染加速,不支持复杂的光照运算。
之所以显卡不支持复杂光照运算是由于显卡的构造而决定了。
我举个例子 画笔和图案印章 。同样画图 很显然图案印章的效率明显比画笔快,压以下一个图案,但是印章的局限就是图案简单,也就是说它只能画出GPU本身所支持的算发,也就是几个简单的加减乘除,和函数计算(GPU只继承了这些算法) GPU就是图案印章。
画笔 我不说你也应该知道它就是CPU了 虽然画画速度慢 但是他想画什么就能画什么,只要软件支持。因为CPU的指令集非常丰富,能进行软件所支持的任何计算,无论是加减乘除还是复杂的函数运算,根号运算都支持。 而这个就是渲染最终效果图所需要的。
即使现在的游戏,光影都是由CPU负责的, 显卡的工作就是多边形生成 和文理贴图, 不具备光影处理能力。 现在的游戏中 光影都是假光影,物体的反射都是材质贴图,也就是说镜子所反射的不是周围的物体 而是制作了一个周围物体的贴图给了镜子。
从D3D9以后 显卡能够多一点的分担CPU的负担 集成的更多的指令集和函数流水线,但是他毕竟是用来加速时时3D的 所以流处理器的个数才是最重要的。1个流处理器就是一个CPU 只不过指令集和功能比CPU少的可怜。
无论是专业显卡还是中等的图形工作站 显卡都不参与效果图渲染。
即使以后显卡能够渲染效果图了,我们也不会使用显卡渲染 因为CPU体积比显卡小多了,大型服务器 超级计算机 图形渲染集群都是成千上万的CPU组成的 一般一部服务器 安装了500 600个CPU,如果换成显卡,那体积不得了。而且用途也不广泛,CPU是万能的。
专业显卡和游戏显卡 本身没有区别,也就是说显卡硬件GPU没有区别。区别在于驱动。在GPU中间有一个OPENGL硬件开关,出厂的时候就已经设定好的,NV显卡无法修改ATI显卡可以破解。 游戏显卡注重速度,而不注重质量,只对D3D支持和基础OPENGL 不支持专业OPENGL
专业显卡注重质量,抗锯齿模式丰富,并且支持线框抗锯齿。游戏中,只有物体边缘有矩尺,而专业做图,由于线筐多,一个屏幕复杂的要几万条线条,所以抗矩尺很重要
和游戏显卡不同 专业显卡对于3D模型的内部显示做优化,游戏中的汽车,只显示汽车外表,而专业作图不仅显示外表 还要显示汽车内部结构。显示的内容都是不一样的
所有都是原创 非抄袭

3DS MAX渲染速度取决于cpu和内存。

在3DSmax渲染出图的时候,cpu和内存的占用率100%的,而显卡的占用率就只有10%到20%左右的由此证明渲染出图的速度跟显卡没有关系。

3DSmax的出图速度既然与cpu有直接关系,那就cpu的选择很重要,理论上cpu的核心数越多速度越快,当然也要看cpu的主频高低,比如i7的5820k是6核12线程,主频33hz睿频以后最高为39hz相比i78700K6核12线程主频37hz睿频以后最高为47hz慢很多。

速度与内存也有很大的关系,内存频率越高,速度越快,选择大内寸也很重要,现在做效果图的主机一般都是ddr4 3000hz 16g的内存条。

扩展资料

以3ds Max的图形制作用电脑为例,其作用包括三个阶段:第一阶段是建立模型,第二阶段是光源材质,第三阶段是渲染。这三个阶段对工作站的子系统的要求侧重点各不相同,在3ds Max里面,对硬件的要求也主要集中在这三个方面。

渲染阶段需要把模型或者场景输出成图像文件、视频信号或者胶片,就必须经过渲染。这个 *** 作对CPU核心数量极为敏感,多核心等特性对性能提升巨大,此外也对内存、硬盘响应速度的要求也比较高。

认为3D渲染和显卡有关,觉得渲染时间的多少取决于显卡的好坏,其实这是错误的。

但实际情况是现在主流的三维软件渲染器,升级CPU就够了,预渲染时和显卡好坏没有区别。渲染三维和玩电脑游戏是不同的,升级显卡只影响即时演算的速度而已,也就是视图的 *** 作速度,做三维最终渲染速度几乎只靠CPU。

在渲染时它会瞬间爆满所有内存和CPU的,当然配置越好的电脑处理的越快。

3D渲染速度影响最大的是CPU,选择多核心的CPU对渲染速度提高极大,尽量用双核甚至四核芯的CPU,至于内存,目前装机市场最低也都是4G的,足够了。至于显卡,除非用专业卡,否则一般中低端的显卡就可以了。2D软件道理也是一样的,图形的处理速度也完全取决于CPU。后期软件在渲出片的时候,也是靠CPU计算,但由于后期制作的素材较多,内存要尽量大。

1、传统CPU运算渲染软件:如Vary、Randerin、Podium和新近出现的强势照片级渲染器Maxwell等,它们都是利用CPU进行渲染的软件,而且几乎所有的CPU渲染软件都能对CPU的多线程实现良好支持,也就是说,核心、线程数量越多,渲染的效率越高,而且,同样频率和缓存的核心,数量多一倍,渲染速度也几乎快一倍。

2、支持Nvidia的“CUDA”并行运算技术的渲染软件:Octane、Iray、Quicksilver等,它们对CPU的依赖大大降低,在Octane中,GPU甚至占到了大头,在GPU渲染软件中,显卡的流处理器数量决定了渲染效率的高低。

CPU占用率在70%左右。
gpu渲染CPU占用率在70%左右,越高的需要高性能的GPU服务器才可以完成渲染了可以试试GPUCAT的服务器,高性能,实时计算和渲染cpu占用率60%左右。

关于GPU的并行计算,我们从三点进行简单的阐述。

一:什么是GPU

很久以前,大概2000年那时候,显卡还被叫做图形加速卡。一般叫做加速卡的都不是什么核心组件,和现在苹果使用的M7协处理器地位差不多。这种东西就是有了更好,没有也不是不行,只要有个基本的图形输出就可以接显示器了。在那之前,只有一些高端工作站和家用 游戏 机上才能见到这种单独的图形处理器。

后来随着PC的普及, 游戏 的发展和Windows这样的市场霸主出现,简化了图形硬件厂商的工作量,图形处理器,或者说显卡才逐渐普及起来。

GPU有非常多的厂商都生产,和CPU一样,生产的厂商比较多,但大家熟悉的却只有3个,以至于大家以为GPU只有AMD、NVIDIA、Intel3个生产厂商。

nVidia GPU

AMD GPU

Intel MIC协处理器

nVidia Tegra 4

AMD ARM服务器

CUDA C/C++

CUDA fortran

OpenCL

MIC OpenMP

CUDA



二:GPU与CPU的区别

想要理解GPU与CPU的区别,需要先明白GPU被设计用来做什么。现代的GPU功能涵盖了图形显示的方方面面,我们只取一个最简单的方向作为例子。

大家可能都见过上面这张图,这是老版本Direct X带的一项测试,就是一个旋转的立方体。显示出一个这样的立方体要经过好多步骤,我们先考虑简单的,想象一下他是个线框,没有侧面的“X”图像。再简化一点,连线都没有,就是八个点(立方体有八个顶点的)。那么问题就简化成如何让这八个点转起来。

首先,你在创造这个立方体的时候,肯定有八个顶点的坐标,坐标都是用向量表示的,因而至少也是个三维向量。然后“旋转”这个变换,在线性代数里面是用一个矩阵来表示的。向量旋转,是用向量乘以这个矩阵。把这八个点转一下,就是进行八次向量与矩阵的乘法而已。

这种计算并不复杂,拆开来看无非就是几次乘积加一起,就是计算量比较大。八个点就要算八次,2000个点就要算2000次。这就是GPU工作的一部分,顶点变换,这也是最简单的一部分。剩下还有一大堆比这更麻烦的就不说了。

总而言之,CPU和GPU因为最初用来处理的任务就不同,所以设计上有不小的区别。它们分别针对了两种不同的应用场景。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。

于是CPU和GPU就呈现出非常不同的架构(示意图):

CPU与GPU区别大揭秘

GPU采用了数量众多的计算单元和超长的流水线,但只有非常简单的控制逻辑并省去了Cache。而CPU不仅被Cache占据了大量空间,而且还有有复杂的控制逻辑和诸多优化电路,相比之下计算能力只是CPU很小的一部分。

而GPU的工作大部分就是这样,计算量大,但没什么技术含量,而且要重复很多很多次。就像你有个工作需要算几亿次一百以内加减乘除一样,最好的办法就是雇上几十个小学生一起算,一人算一部分,反正这些计算也没什么技术含量,纯粹体力活而已。

而CPU就像老教授,积分微分都会算,就是工资高,一个老教授资顶二十个小学生,你要是富士康你雇哪个?GPU就是这样,用很多简单的计算单元去完成大量的计算任务,纯粹的人海战术。这种策略基于一个前提,就是小学生A和小学生B的工作没有什么依赖性,是互相独立的。

很多涉及到大量计算的问题基本都有这种特性,比如你说的破解密码,挖矿和很多图形学的计算。这些计算可以分解为多个相同的简单小任务,每个任务就可以分给一个小学生去做。

但还有一些任务涉及到“流”的问题。比如你去相亲,双方看着顺眼才能继续发展。总不能你这边还没见面呢,那边找人把证都给领了。这种比较复杂的问题都是CPU来做的。

而某些任务和GPU最初用来解决的问题比较相似,所以用GPU来算了。GPU的运算速度取决于雇了多少小学生,CPU的运算速度取决于请了多么厉害的教授。教授处理复杂任务的能力是碾压小学生的,但是对于没那么复杂的任务,还是顶不住人多。当然现在的GPU也能做一些稍微复杂的工作了,相当于升级成初中生高中生的水平。但还需要CPU来把数据喂到嘴边才能开始干活,究竟还是靠CPU来管的。

三:并行计算

首先我们说一下并行计算的概念,它是一种类型的计算,它的许多计算或执行过程是同时进行的。将大问题可以分成较小的问题,然后可以同时解决。可以同CPU或主机进行协同处理,拥有自己的内存,甚至可以同时开启1000个线程。

采用GPU进行计算时与CPU主要进行以下交互:

先说明一下,一般来说同一时刻一个CPU或GPU计算核心上(就是我们通常所说的“核”)只能够进行一个运算,在超线程技术中,一个计算核心在同一时刻可能进行多个计算(比如对于双核四线程的CPU,在不发生资源冲突的情况下,每个计算核心可能同时进行两个计算),但超线程通常只是使逻辑计算核心翻倍。

我们平时看到自己使用的CPU可以同时运行几十个程序,实际上,从微观角度来说,这几十个程序在一定程度上仍然是串行的,比如在四核四线程CPU上,同一时刻只能够进行4个运算,这几十个程序便只能在四个计算核心上轮换执行,只是由于切换速度很快,在宏观上表现出的就是这些程序在“同时”运行。

GPU最突出的特点就是:计算核心多。

CPU的计算核心一般只有四个、八个,一般不超过两位数,而用于科学计算的GPU的计算核心可能上千个。正由于计算核心数量的巨大优势,GPU在同一时刻能够进行的计算的数量远远地把CPU比了下去。

这时候,对于那些可以并行进行的计算,利用GPU的优势就能够极大地提高效率。这里解释一下任务的串行计算和并行计算。串行计算通俗来说就是先计算完一个之后再计算下一个,并行计算则是同时并行的计算若干个。比如计算实数a与向量B=[1 2 3 4]的乘积,串行计算就是先计算aB[1],再计算aB[2],然后计算aB[3],最后计算aB[4],从而得到aB的结果,并行计算就是同时计算aB[1]、aB[2]、aB[3]和aB[4],得到aB的结果。

如果只有一个计算核心,四个计算任务是不可能并行执行的,只能够一个一个地串行计算,但如果有四个计算核心,则可以把四个独立的计算任务分到四个核上并行执行,这便是并行计算的优势所在。正因如此,GPU的计算核心多,能够进行并行计算的规模便非常大,对于一些能够通过并行计算解决的计算问题便表现出了优于CPU的性能。

比如破译密码,将任务分解成可以独立执行的若干份,每一份分配在一个GPU核心上,便可以同时执行多份破译任务,从而加快破译速度。

但并行计算不是万能的,它需要一个前提:问题可以分解为能够并行执行的若干个部分。很多问题不满足这个条件,比如一个问题有两步,而第二步的计算依赖于第一步的结果,此时,这两部分便不能并行的执行,只能够串行地依次执行。实际上,我们平时的计算任务常常有复杂的依赖关系,很多重要的计算任务并不能够并行化。这是GPU的一个劣势。

关于GPU编程方面主要有以下方法:

由于不是编程科班出身,这里就不多加介绍了,有兴趣的朋友可以自行找资料。关于GPU的并行计算,就说这么多,有更深了解的朋友欢迎来沟通。

1、软件方面导致的CPU使用率高
这方面主要涉及到的是系统问题,比如系统过于臃肿,开启过多程序以及电脑中病毒、木马等等都会产生CPU使用率过高,而导致电脑速度慢。
解决办法主要是围绕系统优化,优化开机启动项、尽量避免开启太多程序等等。
2、硬件方面导致的CPU使用率高
其实硬件方面决定着比较大的关系,比如如果电脑还是老爷机,采用最初的单核赛扬级处理器,那么这样的电脑,在多开启几个网页的情况下就容易导致CPU使用率过高,不管你怎么优化系统,这个问题始终无法很好解决,这主要是因为硬件本身过低造成的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10602704.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存