汽車市場是技術生態系統中最令人興奮的領域之一,其總是不斷發展,努力走在新技術的前沿。這意味著,驅動底層的硬件系統不僅要傳輸良好的性能,還需滿足多樣化的需求。汽車行業是Imagination Technologies的關鍵領域,我們的PowerVR圖形核心可謂貫穿整個汽車市場。
本文,我們將描述PowerVR架構的一些特性如何使之成為最新汽車圖像應用程序的最佳選擇。我們還將討論現代圖形API如Vulkan如何造福未來的汽車應用程序。
基于貼塊的延遲渲染(TBDR)
所有PowerVR圖形核心都采用了公認的TBDR架構。理解這些關鍵概念非常重要,這樣才能認識到這種架構的優勢。這里我們會做簡要的闡述。
TBDR使圖形核心能最有效地利用系統內存總線,其方式是,使所有的數據用于基元的光柵化及片上緩沖區單個貼圖(通常是32×32像素)中每個像素的著色,直至貼圖全部渲染完成。一旦貼圖的渲染任務完成,結果將會寫入系統主內存中的幀緩沖區。這種方法將大幅減少圖形核心和主存之間的內存傳輸,有助于降低整個片上系統(SoC)的功耗。
架構“延遲”的部分使圖形核心可以舍棄大部分的幾何圖形,這些幾何圖形原本在片段處理前隱藏在最終圖像的其他片段后。這種方法將大幅降低處理覆蓋片段的時間,因此可以明顯減少幀處理時所花費的時鐘周期。通過使用這種類型的架構,PowerVR圖形核心展示了出色的可延展性能,同時保持有極高的效率。
為了更深入地了解基于貼塊的延遲架構,請閱讀此文 。
車載GPU加速顯示屏
汽車市場要求圖像處理器能提供高像素的填充率,以驅動各種用于信息/娛樂功能的高分辨率顯示屏。如下所述:
? 信息娛樂系統是現代汽車的中心部分。通常情況下,儀表盤被轉換成一個綜合多媒體中心,可以與智能手機等其他智能設備通訊,甚至可以通過移動網絡與云端連接。同時,用戶界面需清晰且響應及時,可以顯示圖像和視頻。
? 儀表板是另一種通用的尖端技術,其旨在多個高分辨率屏幕上給駕駛員提供實時信息。
? 導航技術已經存在了很長時間,但現在已不斷細化。其中一項改進是,部署在車內的嵌入式設備,其導航應用程序的視覺保真度有所提高。這要得益于圖像技術的進步。
? 最后便是平視顯示器——一項由航空航天業首創的技術,目前已應用在汽車應用中,用于向汽車的擋風玻璃投射有用的信息。這使駕駛員在獲取關鍵信息的同時,又能時刻關注路況。
目前,大多數現代車輛通常配備了這些功能和系統。展望未來,這些功能不僅會變得更加普遍,而且隨著制造商向更高分辨率的顯示器(如4K等)推進,其視覺質量也會不斷提升。顯然,這將給底層硬件帶來更大的壓力。
隨著顯示技術的改進,系統將不可避免地需要更多的圖像功率和內存帶寬,以推動高分辨率顯示命令的數百萬像素。且由于嵌入式和移動設備的內存帶寬歷來相當有限,而TBDR允許在芯片上進行處理,這樣,我們有更多的理由來研究基于貼塊的延遲架構,如PowerVR。正如之前提到,這種架構設計大幅減少了內存總線上不必要的數據傳輸量,從而明顯提升整個系統的效率。
除了基于貼塊的架構允許減少的內存傳輸,早期深度測試和隱藏的表面移除(架構的“延遲”部分)明顯降低了浪費的時鐘周期量。這一點尤其重要,因為顯示屏分辨率和應用程序的復雜性不斷增加。由于在極致的分辨率下有大量的片段要進行處理,這項技術將允許一個適當優化的應用程序在穩定的交互式幀速率上運行,提高衛星導航、信息娛樂等方面的用戶體驗。
在運行車內儀表盤時,要達到目標幀速率是可取的,且是必要的,因為向駕駛員提供可靠的信息對系統的安全至關重要。
Vulkan
對于新興技術,在未來的幾年里,由于API不斷被平臺制造商采用,Vulkan圖像API將在汽車行業扮演重要的角色。這一轉變將對未來的汽車應用如衛星導航等將產生深遠的影響。
關于導航應用程序的一些問題和技術之前已經在 羅賓·布里頓的博客文章 中討論過,該文介紹了使用OpenGL ES和Vulkan圖像API高效渲染導航應用程序的一些技術。它還討論了Vulkan圖像API的優點,及優化Vulkan圖像API后渲染效率的改善。
使用現代API如Vulkan的原因在于其非常高效。使用Vulkan,CPU所需做的工作將大量減少。這就降低了CPU的使用率,對于移動/嵌入式設備來說是一個特別重要的方面,因為減少CPU的使用將大幅降低熱輸出和功耗。
在OpenGL ES中,Vulkan API的第二個重要優勢在于,它非常適合基于貼塊的架構,并且具有一些優于OpenGL ES的可度量的優勢——以下是優勢簡述:
? Vulkan允許同步細粒度控制,這表明圖像驅動程序更了解對象和內存之間的依賴關系,意味著僅有緩存(片上存儲)需要刷新,有助于減少內存帶寬。
? Vulkan可以確保,所有依賴項都是提前聲明的,這就消除了驅動程序在繪制時猜測狀態的需要。對于驅動程序而言,更容易將工作打包,傳輸至貼圖器和光柵化任務中,并直接由硬件使用,從而使圖形核心更有效地執行工作。
? Vulkan提供的API對象(渲染層)不允許任何操作,在柵格化過程中會導致中間幀刷新,這將引起圖像設備暫停。此外,這些API對象允許圖形核心更有效地使用片上存儲,因為不需要進行存儲的中間FBO附件永遠不會被寫回主存。同樣,這大幅降低了內存帶寬,尤其是對于更高的分辨率,從而降低了整個SoC的功耗。
如果想更深入地了解基于貼塊的架構使用Vulkan的優勢,例如PowerVR圖形核心,可以了解托拜厄斯赫·赫克托寫的相關 文章 。
無論是使用OpenGL ES還是Vulkan,有一些相對簡單的技巧可以用來提升應用程序的性能。在物體表面使用背面剔除和正確設置可能看似無關緊要,但卻明顯減少了圖像硬件的負載。這是因為當在固定函數階段中減少多邊形的輸入時,將使貼圖硬件和光柵化受益。實際上,對于有成千上萬或數百萬多邊形的高度復雜的工作負載,這樣做將有利于性能的提升。
此外,在應用程序中使用壓縮紋理(如PVRTC)不僅可以減少所需的內存量,還可以大幅降低紋理采樣所需的內存帶寬。這是因為,壓縮紋理以壓縮格式傳輸,只有硬件芯片沒有壓縮。壓縮紋理可以明顯提升緩存命中率,因為壓縮紋理是緊密壓縮的,使更多的紋理可以放入緩存中。這將改善內存延遲,因為硬件可以從芯片緩存而不是主內存中獲取數據。這大幅加快了請求被服務的時間,降低了統一著色程序集群(USC)等待數據的時間,并減少了耗能的內存傳輸操作的數量。
小結
隨著對汽車高質量應用的需求不斷增長,車載顯示系統擴展底層圖形硬件被認為是汽車制造商進一步創新和發展的關鍵技術。對于尋求以有限內存占用和功率預算便能獲取高性能的汽車制造商來說,PowerVR圖像的有效性至關重要。
除了要完成任務的硬件之外,還需要通過識別和消除瓶頸來盡可能地優化軟件,以充分利用硬件,使更復雜的應用程序能以交互式幀速率運行。
評論
查看更多