JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=2b22d682c0c1de7beede422185dd228dMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Memory Management in Computerspielen
Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Tutorials
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
PeaceKiller
JLI Master


Alter: 35
Anmeldedatum: 28.11.2002
Beiträge: 970

Medaillen: Keine

BeitragVerfasst am: 07.08.2006, 13:29    Titel: Antworten mit Zitat

Man kann Singletons allerdings auch so implementieren, dass man sie selber erstellt und löscht.
_________________
»If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 07.08.2006, 15:30    Titel: Antworten mit Zitat

Jonathan_Klein hat Folgendes geschrieben:
Achja, heißt es der die oder das Singleton?

"das", kommt von "Singleton-Prinzip"; generell sagt man aber auch manchmal "der", da gibts keine Eindeutigebestimmung, weils halt ein eingeseutschtes Fremdwort ist.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
unsigned long
Junior JLI'ler



Anmeldedatum: 02.07.2006
Beiträge: 52

Medaillen: Keine

BeitragVerfasst am: 27.08.2006, 22:55    Titel: Antworten mit Zitat

Tolles Tutorial, aber bitte Finger weg von malloc und free, da die keine Konstruktoren kennen und laut Standard diese nicht aufrufen müssen/können/dürfen. Tun sie dies doch - glück gehabt, aber das ist nicht die Regel.

Wenn malloc, dann sollte man die Construktoren manuell aufrufen, damit ein aufruf gewährleistet ist. Da gibt es jedoch das Problem der Doppelinitialisierung, falls malloc dies macht.

Benutz besser HeapAlloc/HeapFree (allein schon aus Geschwindigkeitsvorteilen und Fehlerprüfungen) und ruf die c'tors und d'tors manuell auf. So ist gewährleistet, das es keine bösen Überraschungen gibt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
David
Super JLI'ler


Alter: 39
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

BeitragVerfasst am: 28.08.2006, 10:52    Titel: Antworten mit Zitat

Hi!

In diesem Fall wird der C'tor immer aufgerufen. Nicht der Operator new/delete wird überschrieben sondern die Methode(n) Operator new/delete welche von Operator new/delete aufgerufen werden. Für das aufrufen der C'toren ist Operator new zuständig, die Methode(n) Operator new/delete sind lediglich für das reservieren des Speichers zuständig und dazu ist malloc/free ausreichend.

Tatsächlich sollten trotzdem noch einige Kriterien erfüllt werden um einen guten Memory Manager zu realisieren, aber für eine simple Demonstration wäre das zuu overkilled gewesen, zudem würde bei vielen der "Aha" Effekt wohl ausbleiben.

grüße
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
unsigned long
Junior JLI'ler



Anmeldedatum: 02.07.2006
Beiträge: 52

Medaillen: Keine

BeitragVerfasst am: 28.08.2006, 14:57    Titel: Antworten mit Zitat

David hat Folgendes geschrieben:
Für das aufrufen der C'toren ist Operator new zuständig, die Methode(n) Operator new/delete sind lediglich für das reservieren des Speichers zuständig und dazu ist malloc/free ausreichend.
Ich habe grade mal im aktuellen Standard nachgeguckt, da gibt es keine Richtlinie die diese Aussage vertritt. Kannst Du ggf. die Richtliniennummer sagen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
David
Super JLI'ler


Alter: 39
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

BeitragVerfasst am: 28.08.2006, 17:13    Titel: Antworten mit Zitat

Hi!

Hier: http://www.kuzbass.ru:8086/docs/isocpp/basic.html#basic.stc.dynamic

Gegen HeapAlloc und HeapFree würde ganz entschieden sprechen das Sie nur auf Windowsimplementationen funktionsfähig sind.

grüße
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Tutorials Alle Zeiten sind GMT
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum