新闻中心

EEPW首页>嵌入式系统>业界动态> GPU如何工作:PowerVR/高通Adreno/ARM Mali的渲染模式分析

GPU如何工作:PowerVR/高通Adreno/ARM Mali的渲染模式分析

作者: 时间:2016-06-20 来源:爱活网 收藏
编者按:对大多数读者来说,GPU架构甚至GPU是啥,的确完全可以不需要了解,只要看上去外观比较合眼缘就可以让他们毫不犹豫地掏腰包购买。

  下表是常见的Series 6 GPU规格表,浮点性能部分依旧是以1GHz频率为参考。

本文引用地址://m.amcfsurvey.com/article/201606/292810.htm


IMR与TBR/TBDR两大GPU流派的爱恨情仇


  其中的G6200目前在诸如红米Note2/Note 3、魅族 MX5、魅蓝 Metal、索尼 Sony Xperia M5/M5 Dual、亚马逊Fire HD 8/10等智能手机和平板设备中采用,尤其是前三者,目前在市场上属于比较火的产品。

  以红米Note 2为例,标准版的G6200频率是550MHz,增强版是750MHz,单精度性能分别是42 GFLOPS和57.6 GFLOPS,和iPhone 6s的150+GFLOS显然是有明显差距的,从GPU的角度而言,搭配G6200的设备在运行重度三维游戏的时候会明显比iPhone 6s慢,以GFXBench为例,各项测试结果差距在3倍到13倍左右。

  例如在离屏模式下,1080p算术逻辑单元2测试结果红米Note 2是 749.4 frames,iPhone 6s是 3824 frames,大约是5.1倍,这意味着iPhone 6s GPU的浮点性能是214 GFLOPS左右,推算出来的iPhone 6s GPU频率是550MHz到600MHz左右(假设 Metal API 版渲染动作、精度都是和OpenGL ES版本是一样的)。

  在2016年,我们预期会看搭载到比GT7600快接近一倍的顶配GPU手机产品。目前手机 AP(应用处理器)还基本能按照摩尔定律高速发展,行业的增长势头还算是比较乐观,厂商有足够多的资金用于制程的而研发改进,例如对16nm/14nm制程进行改进,降低功耗,适当增大电池容量,对微架构进行调优以及内存技术的变化,都有望增加实现速度提升一倍的机会。


IMR与TBR/TBDR两大GPU流派的爱恨情仇


  上图是ImgTec日前发布的Series XT 7 Plus,顾名思义,它是PowerVR Series XT 7 的加强版,主要加强的地方包括:

  增强整数单元的单元数和灵活性,例如每个其中的两个32位整数单元可以同时执行8个8位整数操作,这对于OpenCV这类可视化计算来说是有不少好处的。

  首次实现了OpenCL 2.0的支持,CPU和GPU可以在同一块虚拟内存上运作,编程的时候内存指针不需要再作严格区分。

  增加了动态并行化功能,可以在无需GPU干预的情况下创建新的GPU线程。

  新增了一个2D图片处理数据前端,主要用于不涉及几何和块元的处理,适合做二维以及图片处理应用。

  不过按照ImgTec的说法,PVR SXT7 Plus需要到2017年才有望看到,当然,我们不排除在下一代iPhone或者iPad上出现PowerVR Series 7。

  中低端方面GPU的提升有可能会更激进一些,假设今年的中档手机也是搭配 MT6795的制程升级版,可以预期GPU也会得到相应的提升,在保持同样功耗的情况下,GPU有望升级至G6430等级(150 GFLOPS)。

  高通系列——ATI血脉

  相较于ImgTec而言,高通公司在GPU方面的耕耘其实是有一定差距的,在缺乏底蕴的情况下,一家土豪型的公司最简单、最直接的收购,而对象则是AMD的Imageon。

  虽然说是AMD的Imageon,但是Imageon其实是AMD 2006年收购的显卡公司ATI的项目,高通在2009年收购了这个项目并将其更名为,当年AMD和Intel抛售非x86业务给人的感觉是非常果断的,他们可曾料到一年后乔布斯推出的iPhone所引领的智能手机现在正在给他们带来最痛苦的时刻。


IMR与TBR/TBDR两大GPU流派的爱恨情仇


  既然是源自ATI的,这个自然有很深的ATI烙印。在2000年后,NVIDIA和ATI的GPU(NV3X的EarlyZ、R200的HyperZ等)都或多或少地采用分块式立即渲染架构,也就是TBIMR(Tile Based Immediate Mode Rendering),Adreno 200 就是源ATI 2002年时候的Imageon Z430。

  TBIMR和TBDR相比,每个三角形都会按照递交的顺序交给着色器处理,理论上所有三角形都必须依照递交的次序处理,不过GPU厂商引入了Early-Z技术来尝试将一些不可见的片元剔除掉。

  在高通的“Qualcomm® Adreno™ OpenGL ES Developer Guide”里,对Early-Z有以下的介绍:


IMR与TBR/TBDR两大GPU流派的爱恨情仇


  在早期(2001年前)的GPU里,Z-test(Z轴深度测试)都是和阿尔法测试一样在像素着色完成后才进行的。

  后来到了NVIDIA GeForce 3(NV20)和ATI RADEON 8500(R200)的时候,GPU 中开始引入名为Early-Z的操作(NVIDIA将其归入到名为Lighspeed Memory Architecture的概念中,ATI则将其归入到Hyper-Z里)。

  Early-Z在GPU渲染流水线中位于三角形遍历和像素着色器(含纹理单元)之间,它会读取并测试片元的Z深度值,在进入像素着色单元之前抛弃掉不可视的片元。

  Early-Z只有在三角形按照从前往后(由近及远)的递交顺序才能起作用,而且为了做到片上高速处理,一般会采取层次化Z缓存(Hierarchical Z-buffer)技术。


IMR与TBR/TBDR两大GPU流派的爱恨情仇


  在采用Hierarchical Z-buffer的时候,GPU 会把每2×2个片元的四个 Z值中最接近屏幕或者眼睛的Z值取出来,存到一个更“粗糙”的版本。

  这个更“粗糙”版本的Z-buffer分辨率只有原 Z-Buffer的四分之一,GPU再对这个“粗糙”版本的Z-buffer再做同样的事,一直重复直到分辨率只有一个片元。这样一来,就形成一个pyramid(金字塔)。



关键词:PowerVRAdreno

评论


技术专区

关闭