Я новичок в SDL, и в этой части моей программы я хотел бы иметь возможность изменить изображение существующей поверхности. Мой вопрос: автоматически ли выгрузит предыдущее изображение или мне придется использовать SDL_FreeSurface(), а затем полностью перезагрузить поверхность? Я не хочу в итоге загружать большое количество загружаемых изображений, которые не нужно загружать. Визуальное объяснение:Загружает ли изображение на той же поверхности старое изображение?
string path = "Image.png";
SDL_Surface* loadedSurface = IMG_Load((path.c_str());
Если я снова использовать loadedSurface с другим изображением, будет оригинал один разгружаться?
path = "NewImage.png";
loadedSurface = IMG_Load(path.c_str());
Или я должен сделать что-то вроде этого каждый раз, когда я загрузить новое изображение:
SDL_FreeSurface(loadedSurface);
path = "NewImage.png";
SDL_Surface* loadedSurface = IMG_Load(path.c_str());
Это может быть хорошо, я просто не уверен, что создание новой поверхности каждый цикл будет быть более интенсивным, чем другой, более простой способ. Спасибо!
Хорошо, это имеет смысл. Спасибо за ваш ответ и ваше время. –