Огромное количество кадров в секунду падает, когда я добавляю большое изображение в текстуру SDL

Таким образом, при добавлении меньшего изображения на экран sdl абсолютно отсутствует падение fps, но затем я добавил фон sdl, с деталями и всем остальным, на весь мой экран. Тогда я получаю падение с 350 до 150 кадров в секунду. Может быть, есть способ это исправить? Добавить эту текстуру на другой экран или что-то подобное?

Вот как я могу добавить это изображение:

В загрузке моей игры:

SDL_Texture* texture;
SDL_Rect rect;
texture = IMG_LoadTexture(renderer, "data/interiors/baznycia.png");
rect.x = 0;
rect.y = 0;
rect.w = screenWidth;
rect.h = screenHight;

В моем игровом цикле:

SDL_RenderClear(renderer);
SDL_RenderCopy(renderer, texture, NULL, &rect);
SDL_RenderPresent(renderer);

0

Решение

В вашем случае, поскольку вы рисуете фоновое изображение игры с постоянным размером окна, было бы полезно сопоставить размеры вашего изображения с размером экрана, чтобы избежать применения интерполяции к вашей текстуре (что занимает время вычисления и, следовательно, может ограничить свой FPS)

Кроме того, иногда несоответствие формата пикселя текстуры может привести к ненужным преобразованиям текстур, поэтому убедитесь, что вы используете правильные формат перед рисованием на экране.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]