移動端GPU架構

IMR:即時渲染模式,來個DC立刻渲染,渲染的時候需要訪問顯存的RT,這種速度是最快的,但帶寬高。

TBR:把渲染的屏幕分層多個小格,渲染指令來了之後可以執行VertexShader,光柵化得到片元信息後會在這個像素對應的片元隊列上排隊,等到切換RT的時候才一次性渲染所有片元,渲染Tile的時候把Tile對應的Buffer複製到高速緩存,這樣就不用頻繁訪問顯存,當渲染結束後把數據寫回顯存。這樣速度比IMR慢,但是帶寬低,適合移動平臺。因爲所有渲染的片元需要建立一個隊列,當片元太多的時候就不夠空間了,而在手遊通常不會暫用太多空間,也能用。

TBDR:D是Defer的意思,在TBR存儲的隊列中,其實已經知道了片元的深度了,所以可以用硬件做ealy-z,或者叫HSR(Hidden Surface Removal,隱藏面消除),假如渲染的是不透明物體,則隊列上總是隻有最前面那個片元,其他的和TBR類似。

現在Unity可以使用可編程渲染管線,對於RT的loadop和storeop要選擇合適的參數,減少帶寬,同時合理安排渲染順序,減少RT的切換。

 

Reference:

https://www.expreview.com/24705-3.html

https://blog.csdn.net/leonwei/article/details/79298381

https://blog.csdn.net/yanjinzha/article/details/69951421

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章