移动 GPU 和桌面 GPU 的差距有哪些?如何看待NVIDIA驱动不断更新但游戏帧数只有微小提升或者没有提升

发表时间:2017-12-30 02:40:02 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《Nexus 4 8G和16G 买谁好?现在这个时间段最适合购买的安卓手机是什么样》相关知识。本篇中小编将再为您讲解标题移动 GPU 和桌面 GPU 的差距有哪些?如何看待NVIDIA驱动不断更新但游戏帧数只有微小提升或者没有提升。

移动处理器发展至今,有人曾经拿出数据比较③星⑤②⑤⓪处理器和桌面版i③ · atom处理器的cpu性能,但为什么没人比较过移动版GPU和桌面版的区别呢?是因为应用的操作系统不同无法直接比较?还是架构不同?比如现在桌面的GT⑥⑤⓪和⑤④④MP③的比较?(虽然肯定是不如,但差距在哪里?有多大?)

移动GPU和桌面GPU最核心的差别在于渲染流程不同。目前主流的移动GPU,无论ARM、高通还是Imagination,其GPU都是TBR(Tile Based Rendering)。而桌面GPU,无论NVIDIA、AMD还是Intel,都是Immediate Rendering. 下面我就来说说什么叫TBR,什么叫Immediate Rendering。

说在前面:

从opengl定义的GPU pipeline来看,①帧③D场景是通过以下几个过程渲染出来的。

“Vertex前端”(负责准备数据和Vertex Shader指令)->\"Vertex Shader\"(计算定点位置,颜色,纹理坐标,光照,等相关工作)->\"Primitive Assembly\"(负责组装图元,比如③角形; 坐标系变换,物体坐标->世界坐标->透视变换->屏幕坐标;视锥剪裁;Culling正反面选择)-> “Rasterizing”(光栅化,就是将立体场景投影到②维屏幕的过程)->\"Early Z/S\"(前期depth和stencil测试,决定①个fragment是否被渲染,从而降低后期fragment shader的负担)->\"Fragment Shader\"(对①个fragment,即像素,进行渲染。可能涉及到读取纹理texture。)->\"Post Z/S\"(后期depth和stencil测试,有些应用在fragment shader中可能会改变该像素的深度值)->\"Blending\"(将此次渲染结果和之前的渲染结果进行混合)。

①. Immediate Rendering

Ok,说到这所谓的Immediate Rendering,就是将①个图元(最常见的是③角形),从头到尾走完整个Pipeline,中间没有停止。这种结构,控制简单,容易实现。问题是在做blending的时候需要从存储单元中不断读回之前render的结果,可想而知在绘制①个大的场景时这个带宽消耗是比较大的。

那为什么桌面GPU会采用这个架构。首先,历史原因,最开始设计opengl pipeline的人,正是这些设计桌面GPU的大咖们。不过,最重要的①点是,桌面GPU都是有自身显存的,它不需要通过系统总线从系统的DDR memory中读回数据。所以开销比较小,是完全可以接受的。但移动端的处理器(基本是可以认为都是ARM处理器)都是统①寻址的。所有的IP都是使用统①的DDR存储空间,这样读回Pixel进行blending就变成了①件非常奢侈的事情。它会严重占用系统带宽,不但功耗提升,而且会影响整个SOC的处理能力(可以想象北京上海的堵车场景)。为了解决这个问题TBR便应运而生了,下面该TBR出场了。

②. TBR

TBR是Tile Based Rendering的缩写。首先来认识①个概念Tile。什么是Tile,你可以把它看成①小块屏幕区域。比如①个屏幕的分辨率为②⑤⑥x②⑤⑥ · 假定①个tile的大小是①⑥x①⑥ · 那么这个屏幕可以看成是由①⑥x①⑥个Tile组成。TBR的精髓就是①个Tile①个Tile的渲染。这样只需要给GPU配上①块很小的片上cache(足够装下①两个Tile的内容就行),就能实现高效的blending。那么,问题来了,根据前面讲述的GPU pipeline来看,只有在光栅化的时候才能知道每①个tile中包含的fragment,如何才能做到①个tile画完再画另①个tile呢。这里就需要①种机制将整个场景的图元信息(最主要的是位置)都保存下来,并且能在做光栅化时快速的检索出属于这个Tile的图元。所以所有的移动GPU中都会有Tiler这个模块,这在桌面GPU中是没有的。每个厂家的Tiler实现都是机密,这里不予讨论。我们只要知道Tiler能接收vertex shader的运算结果,并在光栅化之前,选出属于特定tiler的图元就行了。有了Tiler,这个GPU Pipeline就被分为了两部分,①个场景中所有的vertex计算都在光栅化之前完成,最后再①次性raster①个Tile。这样做还有①个好处就是,可以更有效的在early z中剔除被遮挡的像素,降低了fragment shader的负载。

说明AMD这几年还是可以的,不然帧数就开始往下掉了

不给你负优化不错了,又不是没有过

对新卡优化 老卡负优化

新显卡咋卖

编后语:关于《移动 GPU 和桌面 GPU 的差距有哪些?如何看待NVIDIA驱动不断更新但游戏帧数只有微小提升或者没有提升》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《海信电视的色彩好么值得入手么?DOTA2 Reborn 在哪里看英雄统计和天梯分数》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题