Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jul 12, 2025 19:37

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Extrem crash von meinem Flipbook
BeitragVerfasst: Mi Jan 16, 2008 16:53 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

wieder einmal hab ich ein paar probleme mit meinem Flipbook auf manchen rechnern... :/
Das fiese ist, wie immer tritt es nur bei manchen rechnern auf und ist absolut nicht reproduzierbar.. also mal passiert es, mal nicht :/

Das flipbook (ist im grunde ein mediaplayer) kann natürlich auch im Fullscreen das bild wiedergeben, dafür resize ich mein form einfach auf ScreenWidth/Height. Das klappt auch wunderbar, nur... bei manchen leuten schmiert das ganze im Fullscreen modus nach ein paar sekunden ab, allerdings so, das GARNICHTS mehr geht...

Also Windows reagiert noch wunderbar, die maus lebt noch und die Tastatur (Die NUMPad lampe) leuchtet auch fröhlich.. nur das Flipbook hängt und es wirkt so als hätte sich das bild vom Flipbook in die Grafikkarte reingefressen, also es ist immer im vordergrund und egal was man tut man bekommt es nicht weg.. man kann das Flipbook via TaskManager abschießen (es ist dann auch wirklich nichtmehr da, also die exe ist nichtmehr unter prozesse aufgelistet) etc, alles.. das bild bleibt fest da :/

Die einzige möglichkeit die wir gefunden haben das ganze dann wieder wegzubekommen war, den bildschirm zu deaktivieren und wieder zu akivieren (geht natürlich nur wenn man mehr als einen monitor hat).. als es mal bei wem passiert ist, der nur einen monitor hatte, ging nichts mehr als RESET... obwohl halt alles eigentlich noch ging im windows selbst..

Auch der TaskManager geht natürlich nur wenn man 2 monitore hat und es schafft den TaskManager via vielen lustigen drag&drop versuchen den TaskManager vom einen Monitor auf den anderen zu bekommen (also, ich kann z.B. ein Icon welches HINTER dem Flipbook Bild liegt doppelt anklicken, obwohl es halt nicht sichtbar ist weil das Flipbook Bild es verdeckt.. genauso kann ich auch die Fenster-Leiste vom TaskManager erwischen und rüberziehen).

Mir ist absolut nicht erklärlich wie der fehler passieren kann, und ich weiß auch nicht wirklich was ich tun kann :(

Wenn ich es richtig verfolgt habe, trat er bisher nur bei rechnern mit einer GeForce 8800 GTS auf... und, bis auf ein einziges mal auch nur, wenn man mehr als einen Monitor angeschlossen hat.

Hat irgendjemand eine idee was das problem sein kann? (Der Grafikkarten RAM wird mittlerweile nichtmehr stark beansprucht vom Flipbook, also daran kann es nicht liegen)..

Ich denke es muß irgendwie so sein, das die Grafikkarte "abstürzt".. also das ich was mache, was die nicht mag und sie dann freezed..

Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jan 16, 2008 17:31 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jul 20, 2006 17:34
Beiträge: 52
Das Problem mit dem "einbrennen" hab ich auch manchmal, wenn ne Fullscreen-Ogl-Anwendung per Breakpoint gestoppt wird.
Monitor deaktivieren hab ich noch nich probiert, aber bei mir gings auch dadurch weg, eine andere OpenGl-Anwendung zu starten. (Ati Radeon X1950 Pro)

_________________
2+2=5
For extremely large values of two


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jan 16, 2008 19:26 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Hmm... Vielleicht ist das mit dem Einbrennen in Problem mit dem nVidia-Treiber auf der Gf8800... Die neueren Treiber haben im Moment immer mehr Probleme.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jan 17, 2008 21:01 
Offline
DGL Member

Registriert: So Jun 05, 2005 14:36
Beiträge: 27
Ich hab leider keine Loesung fuer dein Problem, aber ich kann beim "Abschiessen" behilflich sein!
Um den taskmanager schnell auf den 2. Monitor zu bekommen kannst du wie folgt vorgehen :

1. taskmanager aufrufen damit sollte das fenster automatisch fokus haben
2. Alt+Space druecken. Damit oeffnet man das system Menu im aktuellen fenster
3. Je nach Sprachversion "m" (englisch. Wie "Move") oder "v" (deutsch wie "Verschieben") druecken
4. Eine beliebige Cursor Taste druecken. Dabei verschwindet dein Mauszeiger (er springt zum Fenster, das ja nicht sichtbar ist)

Jetzt haengt das fenster am Mauszeiger. Also einfach den Mauszeiger zurueck auf den funktionierenden Monitor bewegen....DADAAAA

Hoffe das nimmt wenigstens ein bischen Frust raus :)


Gruss,
Thorsten


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 18, 2008 13:41 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Und auch sonst könnte man sich erstmal die Shortcuts für Herunterfahren und so im Taskmanager aufschreiben. Hast du ein Log-System beim Flipbook? Vielleicht bringt das ja ein paar Infos zutage.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 18, 2008 14:28 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Lord Horazont hat geschrieben:
Und auch sonst könnte man sich erstmal die Shortcuts für Herunterfahren und so im Taskmanager aufschreiben. Hast du ein Log-System beim Flipbook? Vielleicht bringt das ja ein paar Infos zutage.

Gruß Lord Horazont


Jaein, ich hab zwar eins, aber das überprüft nur die initialisierung und das laden von daten... nicht jedes einzelne zeichnen.. vieleicht sollte ich das mal noch mit einbauen ^^

ich hab es bisher nich mit drin weil ich irgendwie immer mir denke das wenn ich in der renderschleife in jeder zweiten zeile "if (enableDebug).." mache, mich die tausenden if-abfragen zuviel performance kosten, bzw meinen code total unübersichtlich machen.. :D (Performance is aber wohl echt nur e einbildung *g* aber das mit der übersicht stört mich schon :( )

oder gibts da irgedwelche anderen tollen tricks für so ein log-system?

Aya

PS: Das Programm via TaskManager abschießen bringt ja nichts leider, also bringt auch der shortcut den taskmanager auf den anderen monitor zu bewegen dabei nicht viel :/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jan 19, 2008 10:08 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
du könntest $ifdefs nehmen, die kosten keine performance

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 21, 2008 00:15 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Du kannst den Logmanager und Speichermanager überschreiben. Delphi und Freepascal bieten callbacks, mit denen du die Fehlerroutinen umgehen kannst und die eigenen ausführt(Exception und Error). Freepascal bietet zusätzlich noch die möglichkeit ein eigenen Speichermanager, durch callbacks zu nehmen. Ich hatte mal für X-Dream ein Logger geschrieben, der die Callbacks nutzt und diesen in Karmarama wieder übernommen Logger Link.

Vieleicht kann das dir ein wenig helfen, denn das gibt dir mehr macht über die Art des Abgangs xD. Du kannst z.B. noch Stack und solche dinge sichern und das Programm sauber beenden oder z.B. einfach reseten und ein absturz umgehen. Du kannst auch einfach Exceptions von bestimmten klassen schlicht weg ignorieren und das programm weiter laufen lassen(kann man bei Scripten z.B. machen).

Edit: Okey vieleicht nicht so einfach zu verstehen drum hier noch die demo file.
Demo Link.
Um an die Units zu kommen kannst einfach auf den Code Ordner klicken und dann z.B. die Datei als download laden oder auch ganze Archive(alternativ svn client auf svn://linuxprofessionals.org/karmarama).

Edit2:Ich hab mal überlegt, ob der Desktop vieleicht noch nicht refreshed wurde, einfach mal folgendes probieren.
Code:
  1. SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);

siehe SHChaneNotify im MSDN

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 16 Queries | GZIP : On ]