Sollte ein Spiel / eine Engine nach sich selbst bereinigen (Fenster schließen, Renderer herunterfahren, Dateien schließen, freien Speicher), wenn es geschlossen wird?
Das Betriebssystem sollte das sowieso tun, und normalerweise schneller.
Ich denke, die meisten Entwickler kümmern sich nicht wirklich darum, da sie sowieso eine ordnungsgemäße Bereinigung für alles benötigen (mit dynamischem Laden von Assets und Ändern von Karten usw.), aber nicht sicherstellen, dass alles perfekt bereinigt wird.
Aber gibt es etwas Positives beim Aufräumen im Vergleich zum Nicht-Aufräumen oder umgekehrt?
Ich benutze C ++.
Was ist mit Spielekonsolen? Räumen sie alle nach sich selbst auf?
Antworten:
Ja, ein Spiel / eine Engine sollte nach dem Schließen nach sich selbst aufräumen. Dafür gibt es gute Gründe:
Und es riecht frischer, wenn das Zeug sauber ist!
quelle
Wenn Sie
malloc()
oder ähnliche Speicherzuweisungsfunktionen verwendet haben, müssen Siefree()
den zugewiesenen Speicher zerstören, wenn Sie fertig sind, und ähnlich, wenn Sie den neuen Operator verwenden, um eine Instanz von etwas zu erstellen, müssen Sie ihn verwendendelete()
, wenn Sie fertig sind, andernfalls diese Ressourcen und Der Speicher ist möglicherweise noch vorhanden oder im Hintergrund gesperrt. Es empfiehlt sich daher, den Speicher aus Sicherheitsgründen selbst freizugeben.quelle