JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Programm[reagiert nicht]

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 04.05.2003, 14:11    Titel: Programm[reagiert nicht] Antworten mit Zitat

Wenn ich mit meinem JLI-Format-Konvertierer größere Grafiken(800*600/1024*768) umwandle rechnet der Computer meistens am Anfang ein bisschen rum und dann macht er nix mehr.
Wenn ich es dann schaffe, den Taskmanager zu öffnen, steht da, das Programm reagiere nicht.
Wisst ihr woran das liegen kann???
_________________
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
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 04.05.2003, 14:26    Titel: Antworten mit Zitat

Entweder er rechnet noch oder er hat sich in einer Endlosschleife aufgehängt.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
magynhard
Super JLI'ler



Anmeldedatum: 26.04.2003
Beiträge: 461
Wohnort: Wild durch die Welt ;-)
Medaillen: Keine

BeitragVerfasst am: 04.05.2003, 18:57    Titel: Antworten mit Zitat

BTW.:

Ich habe auch schon erlebt, dass ein Programm im Task-Manager als [reagiert nicht] angezeigt wurde und es hängte.
Ich habe trotzdem noch gewartet und es arbeitete doch noch bis die Aufgabe erledigt war. Confused
Nach oben
Benutzer-Profile anzeigen Private Nachricht 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: 04.05.2003, 19:37    Titel: Antworten mit Zitat

Wenn ein Programm vom Taskmanager als hängend erkannt wird verarbeitet es im Moment nur keine WindowsMessages, also der Messagehandler (sofern überhaupt einer existiert) wird nicht abgearbeitet. Das kann durchaus mehrere Gründe haben.
Ist es jedoch so, dass dein Programm so lange rechnet solltest du über einen Arbeitsthread nachdenken oder an der Konzeption etwas ändern. Ist die Komprimierroutine vielleicht etwas sehr zu langsam?
Ab welcher Bildgröße treten spürbare verzögerungen auf, potientiert sich die Wartezeit vielleicht mit der Bildgröße?
Eventuell kann ein Profiler helfen.

AFE-GmdG
_________________
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
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 04.05.2003, 20:05    Titel: Antworten mit Zitat

Erst ma danke für die Antworten!
Ne Endlosschleife isses nich, weil es ja bei kleineren Grafiken auch funktioniert. Und wenn er noch rechnet müsste man es doch eigentlich am Blinken eines Lichts am Rechner sehen.
Also bei größeren Bildern dauerts schon länger. Und ich habs mal erlebt bei ner Größe von 200*200 Pixeln, dass er sich aufhängt.
AFE-GmdG hat Folgendes geschrieben:
Eventuell kann ein Profiler helfen.

Was ist denn ein Profiler?
_________________
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
AFE-GmdG
JLI MVP
JLI MVP


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

BeitragVerfasst am: 04.05.2003, 20:28    Titel: Antworten mit Zitat

Ein Profiler ist ein Programm, das die Laufzeiten der einzelnen Funktionen misst und dir daher sagen kann welche Funktion einen Flaschenhals darstellt. Da du aber weißt, dass sich das Programm beim Rechnen verabschiedet nehme ich mal an, das die ein Profiler auch nicht viel mehr sagen kann.
Was ich mir als Fehlerquelle noch vorstellen kann ist, dass die Komprimierungsfunktion eine Endlosschleife bei bestimmten Farbkombinationen erzeugt oder zumindest seeeehr lange rechnen muss.

Kannst due die Rechenschritte im Debugger schritt für schritt ausführen oder zumindest ein paar Haltepunkte definieren, an denen du den Inhalt einiger Variablen (wie z.B. Schleifenzähler) überprüfst?

AFE-GmdG
_________________
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
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 04.05.2003, 20:35    Titel: Antworten mit Zitat

Ich habs schon mehrere Male debuggt. Ich glaub n Fehler is nicht im Algorythmus. Es kann sein, dass die Rechenfunktion zu lange braucht. Aber warum bricht der Computer das dann ab???
PS: Irgendwie hängt sich das Programm immer auf, wenn ich debugge und gerade DirectDraw initialisiert wird. So kann ich aber net gut debuggen(wegen Funktionen, wie Farbe eines Pixels im Surface festlegen).
_________________
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
AFE-GmdG
JLI MVP
JLI MVP


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

BeitragVerfasst am: 04.05.2003, 20:40    Titel: Antworten mit Zitat

Versuche zum darstellen der Grafik eine ganz simples GDI-Programm zu schreiben, das deinen Funktionen einfach nur nutzt. (notfalls auch per Copy/Paste des Quellcodes, also ohne Vererbung...)
GDI-Programme lassen sich in der Regel leichter Debuggen (eigene Erfahrung) und ein GDI-Programm, dass per Pixelmalerei ein Bitmap darstellt ist nicht besonders lang.
Es kommt ja auf die Optimierung der Pack/Entpack-Routine an...

AFE-GmdG
_________________
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
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 05.05.2003, 11:18    Titel: Antworten mit Zitat

Ich hab jetzt die Rechenfunktion und die tatsächliche Komprimierungsfunktion getrennt und so gehts einigermaßen. Außerdem hab ich noch am Anfang und am Ende dieser beiden Funktionen ein akustisches Signel eigebaut, sodass man weiß, wann die Funktion beginnt/endet.
PS: Kann man ein Windowsfenster mit Backbuffer und DirectDraw machen? Ich bekomm da haufenweise Fehlermeldungen. Sad
_________________
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
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
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