我的记忆中有一个SDL_Surface。它不是从外部文件加载,而是在运行时生成。
表面被排除在代码之外,我没有对它进行任何操作。
使这个表面仍然使我的帧速率下降。
表面越大,FPS下降越严重。如果表面上的图像不是空白,我会遇到更多的滞后。
e.g。
64 x 64空白表面=> 3 FPS下降
128 x 128空白表面=> 6 FPS下降
128 x 128非空白表面=> 10 FPS下降
我用来创建表面的代码:
SDL_Surface * aa;
aa = SDL_CreateRGBSurface(SDL_HWSURFACE, 128, 128, 32, 0xFF000000, 0x00FF0000, 0x0000FF00, 0x000000FF);
无论是HWSURFACE还是SWSURFACE都没有区别。
操纵表面中间过程的行为相同。减小尺寸将治愈FPS,反之亦然。