sdl表面,其中bpp = 1

时间:2014-06-05 06:23:37

标签: c++ sdl bpp

14年6月4日

我需要(如果可能的话)在SDL 1.2中创建一个表面,其中bpp = 1.bpp是Bits Per Pixel。

我正在100%黑白工作,'表面'尺寸非常大,我的物理记忆瓶颈缩颈。 我有4GB的RAM,程序需要在预算机器上运行,这意味着2-4演出。 我一直在使用8的颜色深度;我想我现实地浪费了大约3/4的记忆力? 我将表面保存为.bmp文件,该文件应该支持bpp = 1的黑/白格式。

有没有办法降低SDL中的bpp,还是应该寻找替代方案?


14年6月5日

我在我的机器上以大约39000x39000像素的颜色深度为8位打了一个瓶颈。因为SDL将表面存储在物理内存中,所以我的RAM用完了。处理能力不是问题,因为我正在渲染静止图像。 我希望能将这个分辨率提高一倍,但我会把我能得到的东西加倍。 是的我可以将图像分成多个文件,但由于它将在以后进行高分辨率激光打印,因此它必须作为单个文件打开然后无论如何。目标是将程序打包为一个单元,不需要额外的步骤在稍后的程序中缝合和转换图像。

SDL和c ++通常似乎不支持单个位变量(不包括bool),因此使用SDL为1 bpp像素分配颜色值超出了我的范围。

0 个答案:

没有答案