Почему я получаю плохую производительность с SDL2 и SDL_RenderCopy внутри двойного цикла for для всех пикселей?
Я программирую игру радиопередачи, используя SDL2. При рисовании пола мне нужно вызывать SDL_RenderCopy по пикселям. Это приводит к узкому месту, которое снижает частоту кадров ниже 10 кадров в секунду. Я ищу повышение производительности, но не могу найти некоторые.
Вот приблизительный обзор падения производительности:
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);
}
}