2009-12-25 30 views
1

我有一個非常簡單的SDL程序,每個像素只使用1MB內存,每個像素24位,2.4MB,每個像素24位,1.9MB,每像素16位,1.4MB每個像素8位。這種奇怪的內存使用情況是什麼?爲什麼每個像素的最大位數佔用最少的內存?奇怪的SDL內存使用情況取決於每像素的位

C++ GCC

感謝

+0

並且程序以不同的速度以不同的比特/像素運行 – TheFuzz 2009-12-25 05:47:53

回答

2

也許內部轉換緩衝器。如果您的表面bpp與您的硬件表面不匹配,則可能需要將完整的緩衝區存儲在內存中,否則SDL可能會直接使用該表面。這只是一種非正式的猜測。

但是在頂層或任務管理器中查看進程可能不是處理正在使用的內存的最佳方法。如果你在Linux上,你可以嘗試使用valgrind這樣的工具來獲取內存的位置。