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

Holle

Frischling

  • »Holle« ist der Autor dieses Themas

Beiträge: 2

Wohnort: Reutlingen

Beruf: Student

  • Private Nachricht senden

1

23.11.2005, 14:19

Handling DeviceLostException/Reset

Hallo Leute,

bin DX9 Anfänger und programmiere mit C#.

Mein Frage wäre nun, was im Fall zu tun ist wenn ein D3D Device sich mit einer Exception (z.B. DeviceLostException) verabschiedet.

Ich weiss, dass man über MyDevice.CheckCooperativeLevel(out int result)
den Status prüfen kann.

Falls das Device Resetet werden kann, macht das DirectX ja automatisch
(korrigiert mich bitte falls ich hier falsch liege).

Die Frage ist nun, was mache ich, wenn das Device momentan nicht resetbar ist??

Anonymous

unregistriert

2

23.11.2005, 14:58

Was wohl? Platt machen und wieder alles Hochfahren?

Wie das in C++ geht unter DirectDraw (Da gibt es das selbe Feature [es ist kein Problem! sondern ein Feature!!!] ebenfalls) siehst du auf meiner Site: www.germangamedev.de << FunnyBreak

Holle

Frischling

  • »Holle« ist der Autor dieses Themas

Beiträge: 2

Wohnort: Reutlingen

Beruf: Student

  • Private Nachricht senden

3

23.11.2005, 15:07

Das heißt ich muss das Device platt machen neu anlegen.

Was mache ich dann mit den Objekten (Sprites etc.) , die das "alte" Device referenzieren?

Müssen diese auch ALLE neu initialisiert bzw. refresht werden ??

Lemming

Alter Hase

Beiträge: 550

Beruf: Schüler

  • Private Nachricht senden

4

23.11.2005, 15:16

jupp alles, was damit zu tun hat muss gekillt und neu geladen werden
Es gibt Probleme, die kann man nicht lösen.
Für alles andere gibt es C++...

Anonymous

unregistriert

5

23.11.2005, 15:35

OK, legt das "alte" Device eine collection der referenzierenden Objeke an oder muss man sich selbst darum kümmern?

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

6

23.11.2005, 15:38

Hmm also ich mache nicht gerade viel platt, sondern mache ein release für alle Resourcen und setz den zeiger auf 0. Und wenn nun ein aufrauf der Res geschiet wird vorher geschaut ob der zeiger 0 ist und wenn ja wird sie neu geladen. Also ich finde das wesentlcih humaner, als wenn ich alle Instanzen neu erstellen und die Daten neu laden müsste.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Dave

Alter Hase

Beiträge: 757

Wohnort: Berlin

  • Private Nachricht senden

7

23.11.2005, 15:38

schau mal hier

Anonymous

unregistriert

8

23.11.2005, 15:42

Klasse Dave, vielen Dank für Eure Hilfe!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Anonymous

unregistriert

9

23.11.2005, 16:43

Nox
Na ja, bei mir gibbet kein "aber" sondern nur ganz! Ich hab keine Lust irgendwann Fehler zu suchen, weil diverse nVidia Treiber Probleme beim Restore haben. Daher das einzig 100% sichere gibt es bei mir: Plattmachen. Da wird bei mir nicht lange Diskutiert, bei mir gibt es direkt Fackelzuch ;)

Platt, neu und feritg.

So geht das bei Viren bei mir auch so: Plattmachen, image wieder draufspielen fertig! Die 10 minuten wo das passiert kann ich auch auf Klo gehen :D

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

10

23.11.2005, 16:55

Naja wenn du deinen Benutzern zumuten willst, dass sie weil sie eben mal alt+tab gedrückt haben erstmal 1- min warten müssen, nur weil das Programm alles wieder neu erstellt, finde ich das nicht gerade als optimal und Probleme mit Release sollte keiner der Treiber haben.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Werbeanzeige