2018年03月19日,對(duì)GPU內(nèi)存的全面應(yīng)用控制是新款顯式圖形API(如Vulkan和Direct3D 12)的主要差異化功能之一。在以往的API中,GPU驅(qū)動(dòng)可以完全控制你創(chuàng)建的曲面和緩沖區(qū),根據(jù)應(yīng)用程序希望如何進(jìn)行渲染的推斷視圖,以及將GPU與其他系統(tǒng)元素(如顯示合成器)共享的需要來(lái)調(diào)度內(nèi)存以實(shí)現(xiàn)良好的性能。
在現(xiàn)代的顯式API中,GPU仍然是一項(xiàng)共享資源,這意味著驅(qū)動(dòng)仍然有其他工作要做。但現(xiàn)在你已經(jīng)可以完全控制應(yīng)用程序所使用的GPU內(nèi)存,比方說(shuō)如何放置,如何分配,以及如何移動(dòng)以適應(yīng)你正在渲染的內(nèi)容。作為應(yīng)用程序開(kāi)發(fā)者,這對(duì)你來(lái)說(shuō)是一種新負(fù)擔(dān),而且我們通常不清楚處理它的最佳策略是什么。
為了解決這個(gè)問(wèn)題,AMD為Vulkan創(chuàng)建了一個(gè)直接內(nèi)存分配器�,F(xiàn)在開(kāi)發(fā)工作已經(jīng)來(lái)到了可以進(jìn)行發(fā)布以便大家開(kāi)始使用的階段,而AMD將繼續(xù)優(yōu)化這個(gè)內(nèi)存分配器,并在考慮集成至其他Vulkan技術(shù)。
1.0版本支持從較大的分配塊中輕松分配緩沖區(qū)和圖像存儲(chǔ),并附帶一個(gè)旨在說(shuō)明如何使用的示例。示例主要是渲染具有索引緩沖區(qū),頂點(diǎn)緩沖區(qū)和紋理的立方體,而這一起都是通過(guò)庫(kù)進(jìn)行分配。對(duì)于未來(lái)2.0版本,AMD計(jì)劃包含對(duì)所有分配策略(適用于需要進(jìn)行紋理流式傳輸?shù)挠螒?的支持。所以大家可以留意未來(lái)的庫(kù)更新。
這個(gè)API定義在一個(gè)記錄詳盡的頭文件中(與STB非常相似),而且代碼為MIT授權(quán),包含一個(gè)Apache授權(quán)的依賴(lài)項(xiàng)MathFu(僅用于樣本,而不是庫(kù))。你同時(shí)可以非常輕松地更換以自己的STL變量,或者甚至是完全移除AMD的STL兼容數(shù)據(jù)結(jié)構(gòu)。所以如果你是使用EASTL之類(lèi)的東西,或者像AMD一樣定義自己的內(nèi)部STL兼容結(jié)構(gòu),集成該庫(kù)的工作量將非常少。
榜單收錄、高管收錄、融資收錄、活動(dòng)收錄可發(fā)送郵件至news#citmt.cn(把#換成@)。
海報(bào)生成中...