簡體   English   中英

如何減少libgdx中2D精靈的高RAM使用率

[英]How to reduce high RAM usage of 2D sprites in libgdx

我們的項目遇到了非常高的RAM使用率。 我們使用java,libgdx和許多精靈。

我們希望將我們的精靈升級為81幀512x512作為png,並且因為我們的實體是精靈(身體,頭部,頭發,武器,衣服)的組合,我們希望在我們談論的時候給出一些實體的變化這些精靈中有500-1000個(在極端情況下)並行/快速相繼使用。 我們嘗試了一些(~10)這些精靈,它使用了6 + GB RAM,所以這是不可能的。

我們現在已經將分辨率縮小到128x128(雖然我們更喜歡256),幀數減少到25(這意味着更多的重復動畫)。 我們已經研究了一些進一步減少ram使用的方法,但不確定哪種方法效果很好。

項目描述:靜態對象的tilemap +附加實體階段。 我們希望在縮小時一次在屏幕上看到多達30個左右的實體(x5精靈),在放大時仍然會看到一些。

一種方法,如果你還沒有這樣做,那就是將所有精靈放在一張圖像(精靈表)中, 就像這樣

這減少了所需的元數據量和單獨加載的圖像的數量,因此RAM使用量也將減少。 然后您只需要一個精靈表加載器,可以通過簡單的谷歌搜索找到許多示例。

另一種方法是不將所有精靈加載到一起,只加載每個級別或同等級別所需的精靈。

你必須擁有大量精靈才能使用那么多內存。 我會檢查你的代碼,以確保你沒有意外地多次加載它們。 最常見的方法是在游戲循環中加載代碼。

此外,對於每種類型的實體,僅在靜態上下文中加載精靈一次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM