Zunächst einmal bin ich relativ neu. Ich freue mich darauf, sowohl die SDL2- als auch die SFML2-Bibliotheken für Game Dev aufzunehmen. (Und andere Dinge).Software und Hardware-Rendering in SDL2/SFML2
Jetzt weiß ich in der Tat, dass sowohl SDL2 als auch SFML2 in der Lage sind, OpenGL-fähige Kontexte zu erstellen, durch die OpenGL-Grafikprogrammierung durchgeführt werden kann.
Aber online habe ich Diskussionen gelesen, in denen Leute etwas zu dem Effekt sagten "SDL 1.2 ist softwarebeschleunigt, SDL2 und SFML2 sind standardmäßig hardwarebeschleunigt". Ich weiß, dass Software-Rendering Grafik mit CPU allein ist. Während Hardware-Rendering Grafikkarten/Pipeline verwendet.
Also meine Frage ist, in Bezug auf dieses Spiel Bibliotheken:
Teil 1: wenn jemand sagt, eine Software/Hardware acc.by Standard ist, was bedeutet er? Ist es das (meine Vermutung) wenn SFML2 Hardware acc. Standardmäßig werden sogar grundlegende 2d-Grafiken mithilfe von Hardware-Rendering als Back-End-Pipeline ausgeführt, auch wenn ich im Code keine Hardware-Rendering-Programmierung vorgenommen habe.
Teil 2: Und wenn das stimmt, gibt es eine Option innerhalb dieser Bibliotheken, um das auf Software-Beschleunigung/-Rendering zu setzen?
Teil 3: Welche dieser 2 Bibliotheken (SDL2 vs SFML2) hat insgesamt bessere Leistung/Geschwindigkeit?
Vielen Dank im Voraus für jede Antwort und Entschuldigung, wenn Sie die Frage dumm fanden.
Mit den Teilen "hinweis" und "SDL_RENDER_DRIVER" meinten Sie einfach die Software-Rendering-Substitute zu verwenden, die für Software-Rendering von OpenGL/D3D-Aufrufen auf diesem System vorgesehen sind (zB Mesa-Treiber für OpenGL, Swiftshader für D3D)? – user2873330
Leider kann ich Ihren Kommentar nicht verstehen. Im Grunde wird SDL aufgefordert, für alle Rendering-Funktionen eine andere Implementierung zu verwenden (z. B. [SDL_RenderDrawLine] (https://wiki.libsdl.org/SDL_RenderDrawLine)). – keltar