Das wichtigste, was du meiner Meinung nach aus diesem Beitrag lernen kannst ist, dass du erst versuchen solltest ein Problem so einfach und schnell(im Bezug auf den Zeitaufwand bei der Entwicklung) wie möglich zu lösen. Sollten dir später Performanceprobleme auffallen, kannst du dich dann darum kümmern. Optimierungen, die buggypixels vorschlägen ähneln, können viele Nachteile haben. Der Aufwand sollte immer in einem guten Verhältniss zum Nutzen stehen. Optimierungen bis ins kleinste Detail dauern lange und lohnen sich an den meisten Stellen nicht, weil sie viel zu selten ausgeführt werden. In der Regel werden ca. 20% des Codes in 80% der Zeit ausgeführt. Es ist Unsinn die anderen 80% zu optimieren. Solche Optimierungen können unerwartete Fehler enthalten, was wieder Zeit und Mühe kostet(in diesem Thread waren es die Hash-Kollisionen). Du kannst dir auch nur selten sicher sein, ob eine Optimierung den gewünschten Effekt hat, solang du nicht die Alternative testest. Ausserdem weißt du während der Entwicklung nicht ob dein Ressourcenmanager falsch verwendet wird oder falsch konzipiert ist oder ob mit deinem optimierten, aber viel komplexeren Code etwas nicht stimmt. Zuguterletzt benötigt man sehr viel Erfahrung um mit C++ jede Nanosekunde herauskitzeln zu können. Gut, dass das bei den meisten 2D-Desktop Spielen heutzutage kaum noch von Interesse ist, weil unsere Rechner sowieso dabei einschlafen.