2010-08-19 46 views
5

在XNA中,當調用Content.Load()在資源中加載時,如果將相同的資源加載到多個對象中(即可以有多個對象的炮彈的紋理)你是否得到每個對象的副本,還是系統只是在內部引用每個對象的相同內存?XNA Content.Load()內存使用

我意識到每個項目中都有一個單獨的Texture2D對象可能會成爲內存問題。

回答

8

當您嘗試再次加載它時,ContentManager將緩存該對象並返回對該對象的引用。

+1

所以,如果我加載到一個Texture2D在2個不同的對象,然後修改紋理數據在一個,它們兩個都改變了嗎? – 2010-08-19 18:41:03

3

是修改紋理數據將改變引用該數據的所有紋理。

如果您需要多個,然後複製原始文件並加載不同的版本。

+0

嗯不是一個理想的解決方案...沒有辦法複製內存中的對象結構數據? – 2010-08-19 19:11:44