奇怪的SDL内存使用情况取决于每像素位数

时间:2009-12-25 05:17:53

标签: c++ gcc sdl bits-per-pixel

我有一个非常简单的SDL程序,它只使用1MB内存,每像素32位,2.4MB,每像素24位,1.9MB,每像素16位,1.4MB,每像素8位。这个奇怪的内存使用是什么?为什么每个像素的最多位占用最少的内存?

C ++ GCC

感谢

1 个答案:

答案 0 :(得分:2)

也许是内部转换缓冲区。如果表面bpp与硬件表面不匹配,则可能需要将完整缓冲区存储在内存中,而SDL可能能够直接使用该表面。这只是一个猜测。

但是查看顶层或任务管理器中的进程可能不是处理使用内存的最佳方法。如果你在Linux上,你可以尝试使用像valgrind这样的工具来很好地了解内存的来源。