SDL_CreateRenderer() vs SDL_CreateSoftwareRenderer()

Does a renderer created with SDL_CreateSoftwareRenderer() behave any differently than one created with SDL_CreateRenderer() using the SDL_RENDERER_SOFTWARE flag?

They should behave the same.

A software renderer created with SDL_CreateRenderer will automatically target the window its created with while you have specify a SDL_Surface target with SDL_CreateSoftwareRenderer (so if you want to target your window surface, you need to use SDL_GetWindowSurface)

Other than that, they are created the same. SW_CreateRenderer is just a wrapper that gets the window surface and then calls the same function used by SDL_CreateSoftwareRenderer.

1 Like

Use OpenGL API directlly.