¿Por qué obtengo un mal rendimiento con SDL2 y SDL_RenderCopy dentro de un bucle doble para todos los píxeles?

Estoy programando un juego de radiodifusión usando SDL2. Al dibujar el piso, necesito llamar a SDL_RenderCopy en píxeles. Esto conduce a un cuello de botella que reduce la velocidad de fotogramas por debajo de 10 fps. Estoy buscando aumentos de rendimiento, pero parece que no puedo encontrar algunos.

Aquí hay una descripción general de la caída del rendimiento:

int main() {
  while(true) {
        for(x=0; x<800; x++) {
            for(y=0; y<600; y++) {
                SDL_Rect src = { 0, 0, 1, 1 };
                SDL_Rect dst = { x, y, 1, 1 };
                SDL_RenderCopy(ren, tx, &src, &dst); // this drops the framerate below 10
            }
        }
        SDL_RenderPresent(ren);
    }
 }

Respuestas a la pregunta(2)

Su respuesta a la pregunta