rendering – SDL 2 SDL_BLENDMODE_BLEND way faster. Why?

I was just tinkering around with a simple ecs, when I noticed drawing like 20,000 rectangles killed my
framerate (~10 FPS). I thought ok, maybe it’s just too many.

Later I wanted to draw them transparent and set the blend mode to SDL_BLENDMODE_BLEND. Now I can draw
around 60,000 of them with 60 FPS.

I figured maybe it’s because of pixel format conversion or something alike. When I use getWindowPixelFormat I get RGB888. No I’m even more confused because of the lacking alpha channel.

Code (abbreviated):

SDL_Window *window  = SDL_CreateWindow("Test",
                                       SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
                                       1280, 720,
                                       wndFlags);

SDL_Renderer *renderer  = SDL_CreateRenderer( window, -1,
                                             SDL_RENDERER_PRESENTVSYNC | SDL_RENDERER_ACCELERATED);
while(running) {
SDL_RenderClear(renderer);
SDL_SetRenderDrawColor(renderer, 0xFF, 0x00, 0xFF, 0xFF);
SDL_RenderFillRect(renderer, &rect);
SDL_RenderPresent(renderer)
SDL_SetRenderDrawColor(renderer, 0x00, 0x00, 0x00, 0xFF);
}

Could someone enlighten me please?