SDL_UpdateRects man page
SDL_UpdateRects — Makes sure the given list of rectangles is updated on the given screen.
void SDL_UpdateRects(SDL_Surface *screen, int numrects, SDL_Rect *rects);
Makes sure the given list of rectangles is updated on the given screen. The rectangles must all be confined within the screen boundaries (no clipping is done).
This function should not be called while screen is locked.
It is adviced to call this function only once per frame, since each call has some processing overhead. This is no restriction since you can pass any number of rectangles each time.
The rectangles are not automatically merged or checked for overlap. In general, the programmer can use his knowledge about his particular rectangles to merge them in an efficient way, to avoid overdraw.
SDL_UpdateRect, SDL_Rect, SDL_Surface, SDL_LockSurface