H
Hugoderwolf
Aktives Mitglied
Thread Starter
- Dabei seit
- 07.03.2003
- Beiträge
- 349
- Reaktionspunkte
- 0
Ich sitze hier gerade in der Uni und arbeite mit zwei Kollegen als Übung für Informatik an einer Implementation von Minesweeper als Java-Applet.
Kurz gesagt haben wir hier ein Spielfeld von 30 * 16 = 480 Feldern. Für die einzelnen Felder haben wir eine Klasse geschrieben, die awt.Button erweitert und noch einige zusätzliche Funktionen für den Spielverlauf anbietet.
Wenn das Feld erstellt wird, werden als 480 Buttons kreiert, per Zufallsprinzip eine gegebene Anzahl Minen verteilt. Dann wird das ganze Feld nochmal durchlaufen und die Buttons um Minen herum bekommen ihren Kennwert erhöht.
Nunja, der Programmstart dauert diverse Minuten und anschließend verbraucht das Ding laut Aktivitäts-Anzeige so um die 90% Prozessorzeit und mehrere hundert MB Speicher! Zugegebenermaßen sind es eine Menge Buttons, aber ich kann mir nicht vorstellen, dass ein Button über 1MB Arbeitsspeicher belegt. Nebenbei scheint durch das Speicherproblem die gesamte Ausführung aus dem Ruder zu laufen. Wir haben hier einige seltsame Fehler, die wir auch nach stundenlanger Suche nicht am Quelltext, der uns astrein erscheint, erkennen konnten.
Also müssen wir jetzt einen dicken Fehler suchen, oder kann das tatsächlich sein, dass das Applet so hungrig ist, weil Java kacke is? (mal salopp ausgedrückt)
Kurz gesagt haben wir hier ein Spielfeld von 30 * 16 = 480 Feldern. Für die einzelnen Felder haben wir eine Klasse geschrieben, die awt.Button erweitert und noch einige zusätzliche Funktionen für den Spielverlauf anbietet.
Wenn das Feld erstellt wird, werden als 480 Buttons kreiert, per Zufallsprinzip eine gegebene Anzahl Minen verteilt. Dann wird das ganze Feld nochmal durchlaufen und die Buttons um Minen herum bekommen ihren Kennwert erhöht.
Nunja, der Programmstart dauert diverse Minuten und anschließend verbraucht das Ding laut Aktivitäts-Anzeige so um die 90% Prozessorzeit und mehrere hundert MB Speicher! Zugegebenermaßen sind es eine Menge Buttons, aber ich kann mir nicht vorstellen, dass ein Button über 1MB Arbeitsspeicher belegt. Nebenbei scheint durch das Speicherproblem die gesamte Ausführung aus dem Ruder zu laufen. Wir haben hier einige seltsame Fehler, die wir auch nach stundenlanger Suche nicht am Quelltext, der uns astrein erscheint, erkennen konnten.
Also müssen wir jetzt einen dicken Fehler suchen, oder kann das tatsächlich sein, dass das Applet so hungrig ist, weil Java kacke is? (mal salopp ausgedrückt)