D3D中的AGP記憶體 系統記憶體 視訊記憶體的理解

2021-09-08 21:25:58 字數 1177 閱讀 4195

學習d3d,應該對這三個記憶體理解,網上收集了一下相關資料,收藏下來。

三種記憶體agp記憶體(非本地視訊記憶體),視訊記憶體(本地記憶體),系統記憶體,其中我們都知道系統記憶體就是咱那記憶體條,那這agp記憶體是個啥玩意啊?其實是因為在以前顯示卡記憶體都很小,那時還是在視訊記憶體是16m,32m為主流的時候,如果你執行乙個需要很多紋理的3d程式,那麼視訊記憶體一會就不夠用了,那該咋辦呢?只好問系統記憶體借點用用了!這就是agp記憶體的由來,在我們電腦bios中有個設定agp aperture的選項,這裡就是設定顯示卡可以使用系統記憶體的最大允許值,通常是設定為64m。注意,這裡只是說最大允許值,並不是一開機他就把這64m給拿走了,你的256記憶體就變成192了!而是你的記憶體依然還是256m,只是限制顯示卡最多可以使用64m的系統記憶體。

再說說這三個記憶體的速度的不同吧!

系統記憶體當然是人家cpu讀和寫操作最快啦!而顯示卡就會相對於使用自己的視訊記憶體慢上很多很多!

agp記憶體是顯示卡讀和寫的速度一般,當然肯定沒有顯示卡使用視訊記憶體速度快啦!cpu就相對複雜點了,cpu讀取agp記憶體速度很慢,但是寫的速度卻並不會慢,而是速度一般,比使用系統記憶體慢那麼一點,也就是說適合cpu去寫但不適合讀。有人就要問了,同樣是系統記憶體只不過名字不一樣,咋速度的就有差別了呢?這個嘛,我也不太清楚,老外沒有說的太詳細,大家只要記住就行了!

最後說的就是視訊記憶體了,這個很簡單,當然是顯示卡讀和寫的速度最快,而cpu讀和寫的速度肯定要慢好多的!

說了三個記憶體的區別,現在說說他們都有什麼用處吧!這裡涉及乙個d3dusage列舉量:

d3dusage_dynamic,這個變數是在你建立資源時使用到的,它指示d3d將資源指定為動態的,而動態的意思就是需要經常修改,修改通常是cpu進行修改,所以動態資源應該放在agp記憶體中。這樣對速度的影響可以減至最小。

d3dusage_writeonly標誌您所建立的資源只允許寫操作。使用這個標誌可以讓裝置將這個資源放到記憶體中最適合進行寫處理和渲染的區域。如果沒有使用d3dusage_writeonly標誌,那麼裝置將假設您建立的資源既用來讀也用來寫,那麼裝置將很可能選擇一塊記憶體區域,讀和寫操作的速度都適中的地方。這將犧牲一部分處理和渲染速度。

對d3dlock的標誌和資源建立型別也有影響

但是三種記憶體是另外一種優化訪問的方法,因為比如粒子系統就需要使用agp記憶體,因為他需要cpu經常進行修改,又需要圖形處理卡經常讀取,如果放在視訊記憶體那麼cpu修改的效率太低了!如果放在記憶體,那麼圖形處理卡訪問的速度太慢!所以這三種記憶體還是需要分別清楚的!

D3D中的AGP記憶體 系統記憶體 視訊記憶體的理解

學習d3d,應該對這三個記憶體理解,網上收集了一下相關資料,收藏下來。三種記憶體agp記憶體 非本地視訊記憶體 視訊記憶體 本地記憶體 系統記憶體,其中我們都知道系統記憶體就是咱那記憶體條,那這agp記憶體是個啥玩意啊?其實是因為在以前顯示卡記憶體都很小,那時還是在視訊記憶體是16m,32m為主流的...

對D3D中AGP視訊記憶體 記憶體 視訊記憶體三種記憶體的解釋

三種記憶體agp記憶體 非本地視訊記憶體 視訊記憶體 本地記憶體 系統記憶體 其中我們都知道系統記憶體就是咱那記憶體條,那這agp記憶體是個啥玩意啊?其實是因為在以前顯示卡記憶體都很小,那時還是在視訊記憶體是16m,32m為主流的時候,如果你執行乙個需要很多紋理的3d程式,那麼視訊記憶體一會就不夠用...

D3D中的粒子系統

d3d中的粒子系統 4 14.3具體的粒子系統 雪 火 粒子槍 現在讓我們用cparticlesystem類開始乙個具體的粒子系統,為了說明用意,這些系統的設計很簡單,沒有用到cparticlesystem類所提供的所有靈活性。我們實現雪 火 粒子槍系統。雪系統模擬下落的雪花,火系統模擬看上去像火焰...