<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 業(yè)界動(dòng)態(tài) > GPU如何工作:PowerVR/高通Adreno/ARM Mali的渲染模式分析

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

          作者: 時(shí)間:2016-06-20 來源:愛活網(wǎng) 收藏
          編者按:對大多數(shù)讀者來說,GPU架構(gòu)甚至GPU是啥,的確完全可以不需要了解,只要看上去外觀比較合眼緣就可以讓他們毫不猶豫地掏腰包購買。

            下表是常見的 Series 6 GPU規(guī)格表,浮點(diǎn)性能部分依舊是以1GHz頻率為參考。

          本文引用地址:http://www.ex-cimer.com/article/201606/292810.htm


          IMR與TBR/TBDR兩大GPU流派的愛恨情仇


            其中的G6200目前在諸如紅米Note2/Note 3、魅族 MX5、魅藍(lán) Metal、索尼 Sony Xperia M5/M5 Dual、亞馬遜Fire HD 8/10等智能手機(jī)和平板設(shè)備中采用,尤其是前三者,目前在市場上屬于比較火的產(chǎn)品。

            以紅米Note 2為例,標(biāo)準(zhǔn)版的G6200頻率是550MHz,增強(qiáng)版是750MHz,單精度性能分別是42 GFLOPS和57.6 GFLOPS,和iPhone 6s的150+GFLOS顯然是有明顯差距的,從GPU的角度而言,搭配G6200的設(shè)備在運(yùn)行重度三維游戲的時(shí)候會明顯比iPhone 6s慢,以GFXBench為例,各項(xiàng)測試結(jié)果差距在3倍到13倍左右。

            例如在離屏模式下,1080p算術(shù)邏輯單元2測試結(jié)果紅米Note 2是 749.4 frames,iPhone 6s是 3824 frames,大約是5.1倍,這意味著iPhone 6s GPU的浮點(diǎn)性能是214 GFLOPS左右,推算出來的iPhone 6s GPU頻率是550MHz到600MHz左右(假設(shè) Metal API 版渲染動(dòng)作、精度都是和OpenGL ES版本是一樣的)。

            在2016年,我們預(yù)期會看搭載到比GT7600快接近一倍的頂配 GPU手機(jī)產(chǎn)品。目前手機(jī) AP(應(yīng)用處理器)還基本能按照摩爾定律高速發(fā)展,行業(yè)的增長勢頭還算是比較樂觀,廠商有足夠多的資金用于制程的而研發(fā)改進(jìn),例如對16nm/14nm制程進(jìn)行改進(jìn),降低功耗,適當(dāng)增大電池容量,對微架構(gòu)進(jìn)行調(diào)優(yōu)以及內(nèi)存技術(shù)的變化,都有望增加實(shí)現(xiàn)速度提升一倍的機(jī)會。


          IMR與TBR/TBDR兩大GPU流派的愛恨情仇


            上圖是ImgTec日前發(fā)布的Series XT 7 Plus,顧名思義,它是PowerVR Series XT 7 的加強(qiáng)版,主要加強(qiáng)的地方包括:

            增強(qiáng)整數(shù)單元的單元數(shù)和靈活性,例如每個(gè)其中的兩個(gè)32位整數(shù)單元可以同時(shí)執(zhí)行8個(gè)8位整數(shù)操作,這對于OpenCV這類可視化計(jì)算來說是有不少好處的。

            首次實(shí)現(xiàn)了OpenCL 2.0的支持,CPU和GPU可以在同一塊虛擬內(nèi)存上運(yùn)作,編程的時(shí)候內(nèi)存指針不需要再作嚴(yán)格區(qū)分。

            增加了動(dòng)態(tài)并行化功能,可以在無需GPU干預(yù)的情況下創(chuàng)建新的GPU線程。

            新增了一個(gè)2D圖片處理數(shù)據(jù)前端,主要用于不涉及幾何和塊元的處理,適合做二維以及圖片處理應(yīng)用。

            不過按照ImgTec的說法,PVR SXT7 Plus需要到2017年才有望看到,當(dāng)然,我們不排除在下一代iPhone或者iPad上出現(xiàn)PowerVR Series 7。

            中低端方面GPU的提升有可能會更激進(jìn)一些,假設(shè)今年的中檔手機(jī)也是搭配 MT6795的制程升級版,可以預(yù)期GPU也會得到相應(yīng)的提升,在保持同樣功耗的情況下,GPU有望升級至G6430等級(150 GFLOPS)。

            高通系列——ATI血脈

            相較于ImgTec而言,高通公司在GPU方面的耕耘其實(shí)是有一定差距的,在缺乏底蘊(yùn)的情況下,一家土豪型的公司最簡單、最直接的收購,而對象則是AMD的Imageon。

            雖然說是AMD的Imageon,但是Imageon其實(shí)是AMD 2006年收購的顯卡公司ATI的項(xiàng)目,高通在2009年收購了這個(gè)項(xiàng)目并將其更名為,當(dāng)年AMD和Intel拋售非x86業(yè)務(wù)給人的感覺是非常果斷的,他們可曾料到一年后喬布斯推出的iPhone所引領(lǐng)的智能手機(jī)現(xiàn)在正在給他們帶來最痛苦的時(shí)刻。


          IMR與TBR/TBDR兩大GPU流派的愛恨情仇


            既然是源自ATI的,這個(gè)自然有很深的ATI烙印。在2000年后,NVIDIA和ATI的GPU(NV3X的EarlyZ、R200的HyperZ等)都或多或少地采用分塊式立即渲染架構(gòu),也就是TBIMR(Tile Based Immediate Mode Rendering),Adreno 200 就是源ATI 2002年時(shí)候的Imageon Z430。

            TBIMR和TBDR相比,每個(gè)三角形都會按照遞交的順序交給著色器處理,理論上所有三角形都必須依照遞交的次序處理,不過GPU廠商引入了Early-Z技術(shù)來嘗試將一些不可見的片元剔除掉。

            在高通的“Qualcomm? Adreno? OpenGL ES Developer Guide”里,對Early-Z有以下的介紹:


          IMR與TBR/TBDR兩大GPU流派的愛恨情仇


            在早期(2001年前)的GPU里,Z-test(Z軸深度測試)都是和阿爾法測試一樣在像素著色完成后才進(jìn)行的。

            后來到了NVIDIA GeForce 3(NV20)和ATI RADEON 8500(R200)的時(shí)候,GPU 中開始引入名為Early-Z的操作(NVIDIA將其歸入到名為Lighspeed Memory Architecture的概念中,ATI則將其歸入到Hyper-Z里)。

            Early-Z在GPU渲染流水線中位于三角形遍歷和像素著色器(含紋理單元)之間,它會讀取并測試片元的Z深度值,在進(jìn)入像素著色單元之前拋棄掉不可視的片元。

            Early-Z只有在三角形按照從前往后(由近及遠(yuǎn))的遞交順序才能起作用,而且為了做到片上高速處理,一般會采取層次化Z緩存(Hierarchical Z-buffer)技術(shù)。


          IMR與TBR/TBDR兩大GPU流派的愛恨情仇


            在采用Hierarchical Z-buffer的時(shí)候,GPU 會把每2×2個(gè)片元的四個(gè) Z值中最接近屏幕或者眼睛的Z值取出來,存到一個(gè)更“粗糙”的版本。

            這個(gè)更“粗糙”版本的Z-buffer分辨率只有原 Z-Buffer的四分之一,GPU再對這個(gè)“粗糙”版本的Z-buffer再做同樣的事,一直重復(fù)直到分辨率只有一個(gè)片元。這樣一來,就形成一個(gè)pyramid(金字塔)。



          關(guān)鍵詞: PowerVR Adreno

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();