JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Problem nach minimieren
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
fowly
JLI'ler



Anmeldedatum: 25.01.2004
Beiträge: 196
Wohnort: Detmold - NRW
Medaillen: Keine

BeitragVerfasst am: 26.01.2004, 19:34    Titel: Problem nach minimieren Antworten mit Zitat

Hallo,

ich lerne gerade das Buch DirectX 9 und Visual C++, mir fällt auf, dass wenn man eine Fullscreen Andwendung macht, und diese minimiert, danach nur noch ein weißes Fenster ist, auf dem man nicht mehr spielen kann. Wie schafft man es, damit, nachdem man die Anwendung wieder herstellt, man weiterspielen kann? ich habe bereits ein bisschen nachgeguckt und gestöbert und weiß, dass man mit etwa diesem code directx wieder initialisieren kann

case WM_ACTIVATE:
switch(LOWORD(wParam))
{
case WA_ACTIVE:
case WA_CLICKACTIVE:
// DirectX wieder initialisieren

Doch nur Texte werden danach wieder richtig angezeigt, nicht jedoch die Sprites... Warum? und was kann man dagegen tun?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 26.01.2004, 19:35    Titel: Antworten mit Zitat

Ich habe das Problem zwar nicht weiss aber das du die ganzen Surfaces (Texturen,...) wieder herstellen musst. Schau dir mal die Beispiele an da wird immer eine solche Funktion bereit gestellt (Invalidate,Restore)
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
fowly
JLI'ler



Anmeldedatum: 25.01.2004
Beiträge: 196
Wohnort: Detmold - NRW
Medaillen: Keine

BeitragVerfasst am: 26.01.2004, 19:38    Titel: Antworten mit Zitat

in dem neuem buch wird für texturen doch extra ein recourcen Manager entwickelt, muss man den dann wederherstellen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 26.01.2004, 19:59    Titel: Antworten mit Zitat

Das Programm kann den Status des Grafikkartenspeichers nicht mehr garantieren, deshalb müssen alle Objekte, die direkt im Grafikkartenspeicher standen resettet werden, also Texturen, Vektorbuffer, ...
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
fowly
JLI'ler



Anmeldedatum: 25.01.2004
Beiträge: 196
Wohnort: Detmold - NRW
Medaillen: Keine

BeitragVerfasst am: 26.01.2004, 20:01    Titel: Antworten mit Zitat

bedeutet Reseten einfach löschen und neu laden?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 26.01.2004, 20:14    Titel: Antworten mit Zitat

jep
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 26.01.2004, 20:38    Titel: Antworten mit Zitat

Der ResourcenManager legt alles im MANAGED Pool an (D3DPOOL_MANAGED). Es muss nichts neu geladen werden, wichtig ist aber die Reset Funktion. Einfach mal in der DX-Hilfe unter IDirect3DDevice9::Reset Method suchen.

C.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
fowly
JLI'ler



Anmeldedatum: 25.01.2004
Beiträge: 196
Wohnort: Detmold - NRW
Medaillen: Keine

BeitragVerfasst am: 27.01.2004, 17:04    Titel: Antworten mit Zitat

Hallo,

leider bin ich trotz eurer Hilfe noch nicht weitergekommen.

1. Ich war mir nicht sicher welches Device ich Resetten muss, und habe deshalb das der Direct3D Klasse und der ResourceManager Klasse mit der Funktion Device->Reset(Present Parameter) resettet.

2. Bei mir wechselt er zwar jetzt wieder in Vollbild, doch trotzdem wird nur der Text angezeigt, und auch der überlagert sich immer, wird also nicht mehr gelöscht... Die Bilder werden trotzdem nicht angezeigt...

Warum? Was mache ich falsch?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
fowly
JLI'ler



Anmeldedatum: 25.01.2004
Beiträge: 196
Wohnort: Detmold - NRW
Medaillen: Keine

BeitragVerfasst am: 28.01.2004, 16:21    Titel: Antworten mit Zitat

ich bin noch immer nicht weitergekommen... anscheinend reicht das resetten nicht... kann keiner helfen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
underberg
JLI'ler



Anmeldedatum: 11.01.2003
Beiträge: 153

Medaillen: Keine

BeitragVerfasst am: 28.01.2004, 16:55    Titel: Antworten mit Zitat

UNd wie mach ich das unter DX8? (Also altes Buch)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 29.01.2004, 13:08    Titel: Antworten mit Zitat

Muss man da wirklich alle Surfaces wieder freigeben? Shocked
Ich dachte, man müsste nur den Frontbuffer freigeben, da es ja logischerweise nur eine primäre Oberfläche geben kann.
Da sich das Programm den Exclusivmodus holt, kann es auch eine eigene für den gesamten Bildschirm verwenden.
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
fowly
JLI'ler



Anmeldedatum: 25.01.2004
Beiträge: 196
Wohnort: Detmold - NRW
Medaillen: Keine

BeitragVerfasst am: 29.01.2004, 17:30    Titel: Antworten mit Zitat

also irgendwie blicke ich da nicht mehr durch...

ich rufe jetzt beim Maximieren - nach - Minimieren immer Device->Reset auf mit den gleichen Present Parametern wie beim Initialisieren... Das Problem: Es passiert garnichts... Es geht weder in Vollbild noch passiert was anderes... wenn ich dafür aber Device->Reset aufrufe geht es in Vollbild, nur die Sprites werden nicht angezeigt, wohl aber der Text...
Was soll ich nur machen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 29.01.2004, 19:04    Titel: Antworten mit Zitat

Es scheint fast so, als ob deine Sprites dabei verschwinden, als ob du sie neuladen müsstest... Question
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
fowly
JLI'ler



Anmeldedatum: 25.01.2004
Beiträge: 196
Wohnort: Detmold - NRW
Medaillen: Keine

BeitragVerfasst am: 30.01.2004, 14:00    Titel: Antworten mit Zitat

... was komisch ist, ich habe jetzt mal ein bisschen rumprobierd, und es sieht so aus als ob die ->Reset Methode beim Device fehl schlägt...

DXGetErrorDescription9 meldet immer "Invalid Call". Was kann ich machen? Das Fenster geht weder wieder in Vollbild, noch kann man im Fenster weiterspielen.... Wenn ich stattdessen das Device noch einmal völlig neu Initialisiere kommt man wieder in den Fenstermodus, alle Texturen gehen aber verloren, und der Text überlagert sich komischerweise immer, das Bild wird also nicht mehr gelöscht. Ich habe die Texturen alle im MANAGED POOL angelegt, die müssten doch noch da sein...

Was soll ich denn nur tun? Crying or Very sad
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
=]Mid[=]Night[=
Super JLI'ler



Anmeldedatum: 20.11.2002
Beiträge: 380
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 12.02.2004, 09:41    Titel: Antworten mit Zitat

Ich hab auch schon sehr oft gefragt, wie man dieses Problem mit Alt-Tab löst, aber ich hab noch nie eine funktionierende Lösung gefunden Sad
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 -> DirectX, OpenGL Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 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