Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

21

20.05.2013, 08:50

Und genau das ist der Punkt. Ein Spieler sollte diese gar nicht verwalten (müssen). Es ist nicht die Aufgabe einer Spieler-Klasse sich um Ressourcen Sorgen zu machen, diese passend zu laden oder freizugeben. Ich habe noch nie einen Spieler gesehen, der sich hätte um so etwas kümmern wollen/müssen. Schon alleine um doppeltes Laden derselben Texturen zu verhindern, sollte das Laden und Caching von jemand anderem übernommen werden. Cat hat dazu ein sehr schönes Topic eröffnet, wo das weiter diskutiert werden kann.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

De_Struktor

unregistriert

22

20.05.2013, 13:25

Und wie ist das mit der "UnloadContentmethode.
Sie ist doch für das Freigeben von unmanaged Ressourcen zu ständig?

Wenn ich ne eigene Klasse über manuelle Speicherverwaltung schreiben muss, wieso ist die dann von Microsoft implementiert??

P.s ich wei?, ich kenne mich nicht so gut mit der Methode aus, dennoch kann ich ihren Sinn nicht komplett nachvollziehen??

Fazit: ich müsste dann doch eine eigene Klasse schreiben, welches sich "manuell" aufrufen lässt und dann die klassen, Spieler, Map, Bombe etc...

wieder freigibt, die nicht länger benötigt werden.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »De_Struktor« (20.05.2013, 13:33)


CodingCat

1x Contest-Sieger

Beiträge: 420

Beruf: Student (KIT)

  • Private Nachricht senden

23

20.05.2013, 13:35

Und wie ist das mit der "UnloadContentmethode.
Sie ist doch für das Freigeben von unmanaged Ressourcen zu ständig?

Wenn ich ne eigene Klasse über manuelle Speicherverwaltung schreiben muss, wieso ist die dann von Microsoft implementiert??

Wenn du den XNA ContentManager zum Laden benutzt, dann reicht es natürlich, dessen Unload()-Methode zum richtigen Zeitpunkt aufzurufen. Der ContentManager setzt ja genau das für dich um, was ich oben als Manager-Klasse beschrieben habe.
alphanew.net (last updated 2011-06-26) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite

De_Struktor

unregistriert

24

20.05.2013, 13:45

Zitat

MSDN
XNA Game Studio 4.0
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

"Wird aufgerufen, wenn die Grafikressourcen entladen werden müssen. Setzen Sie diese Methode außer Kraft, um spielspezifische Grafikressourcen zu entladen".


kann mir das einer richtig erlären: "Setzen sie diese Methode außer Kraft"

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

25

20.05.2013, 13:55

Hört sich interessant an. Im Bezug auf BC's Aussage, der ja sagt, er würde keine Spielerklasse mit, indem Fall Texture2D, ausstatten.
Da hast du mich falsch zitiert oder falsch verstanden. Ich denke durchaus, dass eine Spieler-Klasse Ressourcen besitzen können darf. Aber sie sollte nur Referenzen halten und sich nicht darum kümmern müssen, woher das Zeug kommt und wohin es geht. Solches Ressourcen-Management ist nicht ihre Aufgabe.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

CodingCat

1x Contest-Sieger

Beiträge: 420

Beruf: Student (KIT)

  • Private Nachricht senden

26

20.05.2013, 13:58

Zitat von »MSDN«

Wird aufgerufen, wenn die Grafikressourcen entladen werden müssen. Setzen Sie diese Methode außer Kraft, um spielspezifische Grafikressourcen zu entladen.

kann mir das einer richtig erlären: "Setzen sie diese Methode außer Kraft"

Ja, das lässt sich ganz einfach erklären: Benutze NIEMALS die automatische Übersetzung der MSDN, auch wenn sie sich dir bei jeder Google-Suche aufdrängt. Rechts oben lässt sich notfalls die Sprache zurück auf EN/US umstellen: "Override this method to unload any game-specific graphics resources."
alphanew.net (last updated 2011-06-26) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite

De_Struktor

unregistriert

27

20.05.2013, 14:12

Hört sich interessant an. Im Bezug auf BC's Aussage, der ja sagt, er würde keine Spielerklasse mit, indem Fall Texture2D, ausstatten.
Da hast du mich falsch zitiert oder falsch verstanden. Ich denke durchaus, dass eine Spieler-Klasse Ressourcen besitzen können darf. Aber sie sollte nur Referenzen halten und sich nicht darum kümmern müssen, woher das Zeug kommt und wohin es geht. Solches Ressourcen-Management ist nicht ihre Aufgabe
Gut, dann löse ich das per UnloadContent, da war MS ja so nett, um mir das etwas zu vereinfachen :D

Werbeanzeige