<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

PowerVR GPU采用PVR3C三重壓縮技術來解決問題

Dbwd_Imgtec ? 來源:未知 ? 作者:李倩 ? 2018-07-25 15:05 ? 次閱讀

由于屏幕分辨率的提高以及越來越復雜的渲染管道,使得游戲和其他應用對于帶寬的要求也越來越高,大量的數據需要從內存拷貝或者寫入?,F在用戶普遍認為在無其他特殊情況下設備應該能夠支持2K的屏幕分辨率,高端游戲則具有更大的幾何復雜性,真正在屏幕上顯示圖像之前渲染管道通常要涉及多個中間渲染目標。即使一些休閑類游戲也可能具有一些全屏后的處理效果,需要幀緩存數據從片外存儲器中讀取和寫入。內存訪問是非常消耗功率的,占用帶寬越大功耗則越高,這對于功率預算緊張的嵌入式系統尤其是個棘手的問題。

PowerVR GPU采用PVR3C三重壓縮技術來解決這個問題,這三重壓縮解決方案包括紋理壓縮(涉及PVRTC和ASTC)、幾何壓縮(PVRGC)和本文的主題圖像壓縮(PVRIC)。

PowerVR圖片壓縮(PVRIC)

如上文所說,在現代實時圖形應用中內存帶寬的最大壓力之一就是生成高質量圖像所需的大量中間渲染對象。一個明顯的例子就是創建立方體環境貼圖(cube maps),通常用于反射效果。這包括從一個不動點向六個方向渲染一個場景,最后結果會形成一個立方體的貼圖紋理,然后對場景中的對象進行類似反射的采樣。其他示例包括分辨率縮放、渲染小地圖或其他場景視點、渲染平面反射貼圖,更不用說無盡的屏幕空間和后期處理效果了,比如可分離模糊處理、SSAO、景深效果以及色調映射等。

一個立方體貼圖的六個面可用于汽車上的近似反射,在汽車的窗戶上可以看到天空的倒影。

PVRIC通過高效、無損的壓縮方案大大降低了內存帶寬成本,這種壓縮方案通常會使得圖像大小減少50%(依賴于很多元素)。前文提到的目標渲染在寫入GPU之前就進行了壓縮,然后從內存中讀取時會被解壓,因為這種壓縮是無損的,所以可以從解壓數據中重構得到完美的原始圖像,這也意味著圖像的質量不會降低。

上圖展示了與GPU的所有交互,但更有利的是這有可能會將PVRIC技術集成到SoC級別的顯示管道中,使得最終的渲染圖像在寫入內存之前會進行壓縮,然后在顯示控制器中進行解壓,這將更有效地節省總體帶寬。

在許多移動游戲和App中,紋理資源通常都會采用眾所周知的格式進行壓縮,比如ETC、PVRTC等,但是開發者會選擇保留一部分未經壓縮的紋理資源,比如字體或UI紋理,這些紋理在縮放時需要保持清晰和不失真。PVRIC方案的另一個好處是它允許將相同的無損壓縮應用到任何未經壓縮的紋理上,然后上傳給GPU(如果紋理使用的是多種被支持的格式之一),根據不同的應用,這可能會帶來更大幅度的帶寬減少。

應用帶寬分析

我們在Synaptics BG5CT板卡(集成PowerVR Series8XE GE8310GPU,它采用了最新一代的PVRIC技術——PVRICv3)上運行API trace測試了多款流行的應用,我們看到了這種壓縮方案所帶來的性能提升,尤其是帶寬消耗的顯著降低。

下面的表格展示了不同應用的測試結果,需要注意的是,在這款器件上PVRIC并沒有集成到SoC的顯示管道中,如果集成了那么我們將會看到最后的幀緩存圖像會有更好的壓縮效果,正如前文所述。因為我們使用的是安卓平臺,幀緩存壓縮會應用到最終的渲染操作,Android SurfaceFlinger會將這些壓縮幀寫入內存,讀取到GPU中。如果是這樣,那么SoC顯示管道也將受益于SurfaceFlinger的最終合成結果。

那么這些結果到底意味著什么?這些數字可能有點兒誤導人。我們可以清楚的看到所有應用占用的總帶寬都有所減少,但有些應用比其他應用帶寬的降低程度要大得多,正如上文所提到的PVRIC技術涵蓋了紋理的渲染和解壓縮,但這只是總帶寬的一部分,幾何圖形、著色器等等也會占用一定的帶寬,但是它們并不會受PVRIC操作的影響,所以對于整體帶寬的占用情況我們能做的只是降低,雖然系統范圍內的數據保持在較高的水平,但是我們想隔離受PVRIC影響的相關帶寬參數,借助我們的內部分析工具可以讓我們更精確的完成這些操作(雖然我們不能消除一切——比如紋理壓縮)。

在這里,我們隔離的只是GPU在執行渲染操作時占用的帶寬,而忽略了貼圖操作所需要的幾何處理。為了簡化這一過程,測試平臺上已經禁止了這些任務的重復。我們還能夠識別和忽略其他進程的任務,現在我們需要分析為什么有些app會那樣運行,這需要我們了解app是如何在圖形API層工作的,不妨深入了解一下PVRTrace。

《minecraft》(《我的世界》)

我們使用PVRTrace對Minecraft這款應用進行分析,我們發現總體帶寬節省率比較低(大約2.42%),但是隔離圖片/紋理帶寬方面顯示帶寬節省率則更高(大約17.76%)。Minecraft采用的是完全未壓縮的紋理技術,因此PVRIC的效果比較顯著,盡管這與典型場景中幾何圖形的數量(大約13萬4千個三角形)相比非常的少,更不用說很多紋理的尺寸非常的小,PVRIC只是完成了它所能實現的,但是對于Minecraft并沒有太多的事情可以做。請記?。和ㄟ^集成到顯示管道中,我們可以看到發送給顯示控制器的幀緩存更好的優化效果。

《憤怒的小鳥 2》

在憤怒的小鳥 2這款應用中,幾何圖形(1萬6千個三角形)和紋理內容各自占用的帶寬比例則更協調一些,因此我們能夠更加清晰的看到PVRIC所帶來的好處,系統整體帶寬節省43%,隔離帶寬節省56%。這款游戲既采用了壓縮的紋理格式也采用了一些未壓縮的紋理格式,因此PVRIC非常起作用。此外,整個場景在進行最終的展示之前會采用渲染中間件的形式(很多應用都使用這種技術來處理分辨率縮放或后續處理操作),這兩種因素的結合對于PVRIC技術是很好的展示。

《真實賽車 3》

真實賽車3是另一款使用大量幾何圖形(測試時顯示16萬個三角形)的應用,而且紋理/曲面也占用了相當一部分的帶寬。紋理壓縮技術(PowerVR的PVRTC技術)在這款應用中被廣泛采用,這非常棒,但是還有很多未壓縮的紋理需要借助PVRIC技術來處理,此外還涉及一組512 x 512的立方體環境貼圖和全屏幕紋理渲染。最后的百分比可能不太明顯,但是這很好的展示了PVRIC與PVRTC相結合所帶來的好處,PVRTC可用于處理大部分的紋理,PVRIC則用于處理其他內容。

從這些工作負載中可以看出,無論圖像數據是否占用應用程序的大部分帶寬,采用PVRIC技術后都會帶來顯著的影響,在很大程度上減少了圖像占用的帶寬。

功耗分析

為了能夠更清楚的了解PVRIC技術和降低帶寬對于功耗的影響,我們修改了平臺,使其支持功耗分析并連接了數據采集設備從而可以收集一些功耗數據,下面的圖表就是我們的發現:

在憤怒的小鳥2同一段5秒的運行過程中,我們發現:使用PVRIC時內存的功耗會更低一些,采用兩組數據之間的差值并進行平滑處理,我們發現內存功耗降低了18%。這個效果非常的顯著,對于采用電池驅動的設備比如移動手機可以在充電之前使用更長的時間,當然對于功耗和電池壽命的影響還有很多其他因素,而且不同設備之間也會有所差別。

總結

總而言之,PVRIC技術是PVR3C壓縮策略關鍵的組成部分,對于使用的帶寬來說其壓縮比可高達(有時甚至超過)2:1。這會對設備存儲器的功耗產生實質性的影響,通過對我們紋理和幾何壓縮方案的測試,很明顯可以得出PVR3C是全面的帶寬效率方案,能夠從整體上提高系統的效率,從而讓我們能夠實現更加全面的低功耗解決方案。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 存儲器
    +關注

    關注

    38

    文章

    7211

    瀏覽量

    162298
  • 壓縮技術
    +關注

    關注

    0

    文章

    14

    瀏覽量

    8346
  • powervr
    +關注

    關注

    0

    文章

    98

    瀏覽量

    30956

原文標題:【原創】PVRIC:降低內存帶寬

文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    三重壓縮技術應對PowerVR圖片方案

    作者:Robin Britton 由于屏幕分辨率的提高以及越來越復雜的渲染管道,使得游戲和其他應用對于帶寬的要求也越來越高,大量的數據需要從內存拷貝或者寫入?,F在用戶普遍認為在無其他特殊情況下設備應該能夠支持2K的屏幕分辨率,高端游戲則具有更大的幾何復雜性,真正在屏幕上顯示圖像之前渲染管道通常要涉及多個中間渲染目標。即使一些休閑類游戲也可能具有一些全屏后的處理效果,需要幀緩存數據從片外存儲器中讀取和寫入。內存訪問是非常消
    的頭像 發表于 08-30 09:48 ?3684次閱讀

    CC2650無線連接三重概述

    `CC2650無線連接三重概述`
    發表于 02-25 10:13

    用于LCD背光的電路顯示三重降壓模式LED驅動器

    電路顯示三重降壓模式LED驅動器。每個通道為其LED驅動500mA電流。每根燈串可以有8到12個LED,具體取決于類型
    發表于 07-11 06:58

    PowerVR Furian架構有什么功能?

    PowerVR Furian架構是面向嵌入式GPU的一款全新架構,是業界領先的PowerVR Rogue架構的繼任者,新的架構引入了很多全新設計的組件,幫助進一步提升性能、功效、性能密度。其包含了Rogue架構整個生命周期中加入
    發表于 08-02 06:41

    EL9115三重模擬延遲線資料分析

    STD-020的無鉛要求。3、 有關濕度靈敏度水平(MSL),請參見EL9115的設備信息頁。有關MSL的更多信息,請參閱技術簡介TB363。典型性能曲線應用程序信息EL9115是一個三重模擬延遲線接收器
    發表于 09-17 17:22

    Imagination Rogue GPU技術有哪些優勢?

    PowerVR 6系列GPU與競爭對手Mali-T600系列GPU的規格對比PowerVR的看家本領——TBDR渲染技術
    發表于 02-26 07:39

    PowerVR GX5300 GPU怎么樣?

    PowerVR GX5300 GPU為極低功耗和面積需求而優化面向可穿戴和IoT的GPU用例
    發表于 03-09 08:04

    嵌入式MCU中標準的三重中斷控制設計資料大合集

      大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家分享的是嵌入式MCU中標準的三重中斷控制設計?! ∥覀冎涝?MCU 裸機中程序代碼之所以能完成多任務并行實時處理功能,其實主要是靠中斷
    發表于 11-04 06:40

    STM32F407三重ADC配置過程是怎樣的?

    STM32F407三重ADC配置過程是怎樣的?
    發表于 11-23 07:15

    怎么實現嵌入式MCU中標準的三重中斷控制設計?

    怎么實現嵌入式MCU中標準的三重中斷控制設計?
    發表于 11-29 06:02

    【ELT.ZIP】OpenHarmony啃論文俱樂部—gpu上高效無損壓縮浮點數

    的面向字節的GPU壓縮器。它并行化了著名的bzip2壓縮器的個階段,與類似時代的硬件CPU實現相比,實現了可測量的加速。對應的并行化解壓器沒有實現。在有些工作中,
    發表于 07-27 10:16

    Imagination PowerVR GPU獲得聯發科和展訊青睞

    英國ImaginaTIon可以說與ARM一樣在全球赫赫有名,其自主開發的PowerVR自誕生以來一直是全球圖形、GPU計算和視覺IP市場領導者,IBM和飛思卡爾都曾經獨獨青睞PowerVR
    發表于 06-07 13:58 ?157次閱讀

    新一代的PowerVR GPU與前一代的GPU相比

    PowerVR Series9XE和 9XM GPU保持在填充率密度方面的領先地位,并提供顯著的性能密度提升 2017年9月21日 ─ Imagination Technologies宣布,推出
    發表于 04-09 07:19 ?3406次閱讀

    Telechips將采用PowerVR技術開發車用芯片

    Telechips未來戰略部門主管Leanne Lee表示:“我們選用Imagination的PowerVR Series9XTP GPU主要有兩個原因——PowerVR在汽車行業的悠久歷史和豐富經驗以及其
    發表于 07-04 09:47 ?1252次閱讀

    PowerVR GPU架構的性能優化建議

    最近在看移動GPU優化的時候對TiledBased GPU有一些疑惑,特別是常說的Alpha-Blend比Alpha-Test在移動GPU上快的奇特性質,于是找了powerVR相關的文
    的頭像 發表于 03-15 17:24 ?3265次閱讀
    <b class='flag-5'>PowerVR</b> <b class='flag-5'>GPU</b>架構的性能優化建議
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>