2012-10-22 22 views
1

我正在處理XNA項目並遇到涉及內存使用的問題。我很好奇,如果對某些紋理使用索引顏色PNG 8s vs PNG 24s或PNG 32s將釋放任何內存。它肯定會讓應用程序變小,但我很好奇,如果XNA的內容管理器加載它們時,它們會以某種方式變爲未壓縮或用作無損圖像。XNA使用索引PNG 8s使用較少的內存

回答

1

I answered最近纔有類似的問題。

如果您想在發佈遊戲時節省空間,您可以發佈PNG文件(也可以使用jpeg)並使用Texture2D.FromStream加載它們。請注意,您必須自己處理預乘alpha。

如果您想節省GPU上的空間(並且由於傳輸的數據量較小,這還可以提高紋理獲取),因此可以使用較小的紋理格式。支持的紋理格式列表可在this table中找到。

儘管不支持堆疊圖像(如PNG8)或8位彩色圖像,但有幾種16位格式(Bgr565,Bgra5551,Bgra4444)。 DXT compressed formats也可用。它們以4:1的比例壓縮,除了不透明的DXT1,它是6:1。

您可以同時使用這兩種技術。