我目前正在尝试制作一些非常基本的绘图软件,这意味着我正在使用 SDL_MapRGBA 进行像素操作,但是我注意到这是非常占用处理器的。例如这段代码:
void fill_bkg()//sets the background to bkg_c with an alhpa of 255
{
for(forl = 0;forl < window_w * window_h;forl++)
{
*(winpix + forl) = SDL_MapRGBA(smpl->format,bkg_c.r,bkg_c.g,bkg_c.b,255);
}
}
正在使用我的处理器的 11%(60 fps),它只填充背景。bkg_c 是 SDL_Color。winpix 指向表面像素数据。window_w/h 设置为 1280 和 720。那么是否有更快的方法来执行此操作,例如使用 SDL_BlitSurface 的方法,或者 SDL_MapRGBA 是否很慢?提前谢谢。