shader記憶體洩露到解決

2021-09-26 00:11:41 字數 912 閱讀 8523

因為我們專案是用ab包管理資源的,所以自然就資源都打到ab包中。

可以看到shader載入得非常多一樣的shader。

記憶體增長飛快。

解決辦法:

shader單獨打包:

也就是把遊戲用到的shader全部單獨打包到乙個ab包中

private static void shaderabhandle(listabbuildlist, string oldversion, string newversion)

shaderassets.add(sname);

}abbuildlist.add(setabname("assets/art/bundleresources/shaderab", null, oldversion, newversion, "", shaderassets));

}

這時會有乙個shaderab.ab的ab包。然後打包裡也會把這個ab包帶到相關資源的依賴項裡

然後載入時只要有依賴載入就可以了,也就是從最底層的依賴項往外遞迴載入。

這時再執行遊戲檢視,可以發現沒有洩露了

總結一下:所有公用的資源最好打成乙個包,如果乙個包太大可以考慮分類打不同的包。這樣依賴項帶上這個ab包就不會重複載入了

c 記憶體洩露(三) 定位和解決記憶體洩露

如果編寫的c 程式出現記憶體洩露了,不要慌忙,你要相信任何錯誤都是人為造成的,只要是人為的,你一定能找到錯誤所在,只不過是時間的問題而已。在面對記憶體洩露,如果程式不是特別長的話,你可以使用人工校驗,著重檢視new和delete的匹配呼叫。如果經過一番折騰還未確定程式的錯誤所在,首先應該明白程式在不...

解決Tensorflow 記憶體洩露問題

使用tensorflow進行程式設計時,經常遇到操作不當,帶來的記憶體洩露問題,這裡有乙個可以幫助debug問程式設計客棧題所在方法 使用tf.graph.finalize 把運算圖變成唯讀的,從而對圖的修改都會報錯,從而找到記憶體洩露的定點。目前我出現過記憶體洩露問題的有兩處 1.session和...

記憶體洩露及其解決之道

前言 此文甚好,權作時時複習之用。原文出處 本人改正了一些錯別字。正文 記憶體洩露及其解決之道 new delete,array new arrray delete匹配 case 1 在類的建構函式與析構函式中沒有匹配地呼叫 new delete!解決方法 檢查建構函式,在出現new的情況下,按相反...