Ist IMG_Load von SDL2/SDL_image threadsicher?C++

Programme in C++. Entwicklerforum
Anonymous
 Ist IMG_Load von SDL2/SDL_image threadsicher?

Post by Anonymous »

Ich möchte mehrere Threads verwenden, um PNG-Dateien zu dekodieren, um das Laden in meiner C++-Spiel-Engine zu beschleunigen.
Die einfachste Lösung ist die Verwendung von IMG_Load von SDL_Image, da ich bereits SDL verwende, z. B.:

Code: Select all

surface = IMG_Load(path.string().c_str());
if (surface == nullptr) {
throw std::runtime_error("Unable to load image: " + std::string(SDL_GetError()));
}
Leider weiß ich, dass einige SDL-Grafikfunktionen nicht threadsicher sind (z. B. SDL_CreateTextureFromSurface). Und ich weiß nicht genau, ob der Aufruf von IMG_Load in Arbeitsthreads sicher ist.
Ich habe versucht, verschiedene KI-Agenten zu konsultieren, aber sie geben widersprüchliche Antworten. ChatGPT besteht darauf, dass IMG_Load nicht threadsicher ist und nur im Hauptthread aufgerufen werden sollte, während andere Agenten (GitHub Copilot, duck.ai und Gemini) sagen, dass die Verwendung in mehreren Threads sicher ist.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post