Я только что закончил писать графический интерфейс в SDL.Так что IMG_Load - это старый способ загрузки изображений SDL, начиная с SDL 1, я верю.Он работал так, что у вас есть SDL-поверхности, а затем вы объединяете их вместе, а затем перетаскиваете их на экран или разбиваете участки поверхностей на другие поверхности, используя маски и т. Д. Проблема в том, что некоторые вещи- например, для рисования линий теперь требуется средство визуализации.
Средства визуализации используют новые функции SDL2.Это также означает, что вы не можете просто разбить ваши поверхности на текстуру без предварительной конвертации.
Итак, в итоге, если вы можете избежать использования IMG_load и старых функций SDL, сделайте это, потому что это более интуитивно понятно.Если вы планируете вообще рисовать какие-либо линии или что-либо, использующее средство визуализации SDL, вам нужно научиться конвертировать поверхности и текстуры!
Относительно вашего исходного вопроса, потому что я понимаю, чтоЯ не очень хорошо отвечаю, обычно лучше использовать правильные вызовы функций, такие как IMG_LoadTexture напрямую, а не IMG_Load, а затем преобразовать их в текстуру.SDL напрямую взаимодействует с аппаратным обеспечением и обладает удивительной оптимизацией.Преобразование поверхности в текстуру, по-видимому, включает блиттинг, что означает копирование значительного объема памяти.
Однако, похоже, что в этом случае на момент написания этого, разницы нет абсолютно.Функция IMG_LoadTexture делает то же самое.
Но еще раз, проверьте, вам могут вообще не понадобиться текстуры, если нет, вы можете сэкономить себе немного работы;)