Ich kenne den Unterschied zwischen SDL_TEXTUREACCESS_STATIC
und SDL_TEXTUREACCESS_TARGET
. Ich schreibe ein SDL-Backend für ein Spiel, dessen plattformunabhängiger Kern dem plattformabhängigen Textur-Allokator nicht mitteilt, ob die Textur einfach auf den Bildschirm geblendet wird oder ob die Textur auch selbst als Ziel verwendet wird.Gibt es Strafen bei der Zuweisung von SDL-Zieltexturen, die niemals als Ziel verwendet werden?
So meines SDL-Backend der Textur allocator hat SDL_TEXTUREACCESS_TARGET
statt SDL_TEXTUREACCESS_STATIC
für jede Textur zu verwenden, um es zuzuordnet, weil es nicht bei Zuteilung Zeit nicht wissen, ob die Textur nur Blitted wird, oder wenn es auch als Ziel verwendet wird. In der Praxis wird es dann jedoch viele Texturen geben, die als SDL_TEXTUREACCESS_TARGET
zugewiesen sind, obwohl sie niemals tatsächlich als Ziele verwendet werden, aber sie werden nur auf den Bildschirm geblendet, ohne jemals ihren Inhalt modifiziert zu haben.
Gibt es eine Strafe dafür? Angenommen, eine Textur wird nie selbst als Ziel verwendet, wird jedoch weiterhin unter Verwendung von SDL_TEXTUREACCESS_TARGET
zugewiesen. Ist das mit großen Strafen verbunden? Wenn dies der Fall ist, könnte ich natürlich den plattformunabhängigen Kern neu schreiben, um dem plattformabhängigen Teil zu sagen, ob eine Textur tatsächlich als Ziel verwendet wird oder nicht, aber da dies ein großes Unterfangen ist, möchte ich zuerst fragen, ob oder nicht Es gibt tatsächliche Strafen, wenn man einfach SDL_TEXTUREACCESS_TARGET
für jede Textur verwendet, egal ob sie als Ziel verwendet wird oder nicht.