Earth nature field

ToT 0.56 und Speicherverbrauch (Karten-Crash)

Bugs der Amiga-Version / bugs of the amiga version

Moderator: Moderatoren Team

Antworten
daxb
r_defender

r_defender
Beiträge: 353
Registriert: Di Mai 09, 2006 6:31 pm

ToT 0.56 und Speicherverbrauch (Karten-Crash)

Beitrag von daxb »

Zu Zeit verbraucht ToT den gesamten Speicher (zumindestens hier auf meinem 68k AGA System), was möglichst nicht passieren sollte, wie Wolfen sagte. Vielleicht kann das ja mal jemand bestätigen, bzw. ausprobieren. Also den Speicherverbrauch zu beobachten. Vor allem auf einer grossen Karte merkbar, wenn man da viele Einheiten bewegt.

Von meinen 32MB Fast und 2MB Chip waren Heute noch ca. 1MB Fast und 200kb Chip frei, was leider zu einem Bug auf der Karte führte. Die Karte wurde zerstört (ab einer bestimmten Y-Koordinate war oberhalb alles schwarz). Alle Einheiten oberhalb dieses Bereiches werden dann beim anwählen versenkt/gelöscht. Diesen Fehler hatte ich schon einmal. Nehme an, das auch da der Grund Speichermangel war.
Kores
r_guardian

r_guardian
Beiträge: 634
Registriert: Sa Okt 14, 2006 9:29 am

Re: ToT 0.56 und Speicherverbrauch (Karten-Crash)

Beitrag von Kores »

daxb hat geschrieben:Vielleicht kann das ja mal jemand bestätigen, bzw. ausprobieren. Also den Speicherverbrauch zu beobachten. Vor allem auf einer grossen Karte merkbar, wenn man da viele Einheiten bewegt.
Wenn ich meine 40 Kundschafter, von denen sich ca. ein Drittel auf Tandria befindet, der Reihe nach auswähle, ohne sie zu bewegen, gehen bei mir 15 MB Speicher weg.

Bewege ich eine Figur werden in Abhängigkeit von der Art der Figur, deren geographische Position und der ausgeführten Aktion werden zwischen 100 KB und 500 KB Speicher verbraucht.
daxb
r_defender

r_defender
Beiträge: 353
Registriert: Di Mai 09, 2006 6:31 pm

Beitrag von daxb »

Erst mal Danke für den Test Kores. Leider habe ich mich nicht preziese genug ausgedrückt. :(
Bzw. wird dein System mehr Speicher besitzen und das von mir geschilderte Problem dann so leicht nicht auftreten. ToT soll eine gewisse Menge Speicher frei lassen, also nicht benutzen. So ca. 30% wenn ich mich richtig erinneren. Bei meinen 32MB wären das ca. 10MB. Am besten wäre es also durch ein anderes Programm einen grossen Teil des Speichers zu belegen (ca. 20MB soll dann übrig bleiben). Dann den Test mit ToT wiederholen und Speicher beobachten. Mann könnte ja versuchen den auf gegen 0 zu bringen. Aber bitte vorher Speichern. WICHTIG! :)
Kores
r_guardian

r_guardian
Beiträge: 634
Registriert: Sa Okt 14, 2006 9:29 am

Beitrag von Kores »

Stimmt das Problem hatte ich etwas anders verstanden. Nur werde ich hierbei leider nicht weiter helfen können, da mir spontan kein Programm einfällt, welches unter stabilen Bedingungen meinen 512 MB Hauptspeicher genügend reduziert, um die von Dir beschriebenen Voraussetzungen zu schaffen.
Kores
r_guardian

r_guardian
Beiträge: 634
Registriert: Sa Okt 14, 2006 9:29 am

Beitrag von Kores »

daxb hat geschrieben: ToT soll eine gewisse Menge Speicher frei lassen, also nicht benutzen. So ca. 30% wenn ich mich richtig erinneren. Bei meinen 32MB wären das ca. 10MB. Am besten wäre es also durch ein anderes Programm einen grossen Teil des Speichers zu belegen (ca. 20MB soll dann übrig bleiben). Dann den Test mit ToT wiederholen und Speicher beobachten.
Nachdem mir eingefallen ist, dass die RAM-Disk: nur mit einer großen Datei gefüllt werden muss - denke schon zu sehr in Windows/OSX-Dimensionen :roll: - würde mich interessieren, ob die Prozentzahl sich auf den insgesamt physikalsich vorhandenen Speicher bezieht oder auf den beim Start noch frei verfügbaren.

Hatte heute ToT mal mit ca. 50 MB freiem Speicherplatz gestartet und so lange "gespielt" bis nur noch 15 MB übrig blieben. Dann gingen mir die Figuren bzw. Aktionen aus, bis dahin gab es keine Probleme.
Wolfen
r_halfgod
Beiträge: 13515
Registriert: Mi Apr 03, 2002 1:00 am
Kontaktdaten:

Beitrag von Wolfen »

Aufgrund dieses Threads hier habe ich noch einen schwerwiegendes Speicherleck gefunden. Jedesmal wenn die Karte bei einem großen Sprung (per FigurLister z.B.) komplett neu aufgebaut wurde, gingen ca. 650kb Speicher verloren. Wenn man nun bereits relativ viel erkundet hat, und viel hin und herspringt könnten da einige MB mit der Zeit verloren gehen.


Gefixt in Amiga V0.56 R18 und PC V0.56 R2
Grüsse
Bild
Spielleitung
Spin-Doctor der ersten Generation
daxb
r_defender

r_defender
Beiträge: 353
Registriert: Di Mai 09, 2006 6:31 pm

Beitrag von daxb »

Beinhaltet der Fix auch den generellen Speicherbedarf von ToT? Also ob eine gewisse Menge für das System reserviert bleibt.
Wolfen
r_halfgod
Beiträge: 13515
Registriert: Mi Apr 03, 2002 1:00 am
Kontaktdaten:

Beitrag von Wolfen »

Nach wie vor müssten die letzten 7 MB immer wieder frei werden nach dem Besuch eines Screens. ToT wird also auch von den letzten 7 MB etwas benötigen, dies aber wieder freigeben.
Grüsse
Bild
Spielleitung
Spin-Doctor der ersten Generation
daxb
r_defender

r_defender
Beiträge: 353
Registriert: Di Mai 09, 2006 6:31 pm

Beitrag von daxb »

Mit der aktuellen V0.57 Release 7 gibt es noch das Problem, das der Speicher komplett aufgebraucht wird.

Hier möchte ich aber speziell ein Problem bei zu wenig Chip-Ram (hier AGA) behandeln. Und zwar friert ToT ein, wenn zu wenig Chip-Ram frei ist und man auf der Karte gerade ein Schiff auf offener See verliert. Normalerweise erscheit ein Requester mit der Schiffsmeldung (Seefahrtkenntnisse zu gering...). Bei zu wenig Chip-Ram wird, oder kann der Requester nicht mehr erscheinen und ToT friert ein. Ein paar MuForce Hits (hier nur der erste) treten auf:

Code: Alles auswählen

03-Sep-08   15:20:17 
LONG READ from 00000014                        PC: 026ED450
USP : 025CFFF0 SR: 0000  (U0)(-)(-)  TCB: 01BD4CA8
Data: 00000007 0000001C 00000001 00000007 026E0007 00000007 00000001 025D002E
----> 026E0007 - "Games:Taktik/TalesOfTamar/ToT-Client.exe"  Hunk 0008 Offset 00003877
Addr: 00000000 01080CB0 0271C16E 025DB118 0171B88C 025D002A 01080CB0 010826EC
Stck: 0000003A 0271BE04 00000000 000031FA 00000019 026E0003 0000FFFF 00000027
Stck: 00000001 01087EEC 025DB118 025DB118 00000001 01087EEC 00000000 00000000
Stck: 00000000 00000000 00000000 0001FFFD 02711300 025DB118 00000004 00000004
Stck: 025DB118 00000001 000031FA 00004565 02B6B234 01087EEC 0271CD5A 025DB118
Stck: 00000004 00001900 00000004 00003200 00000000 00000001 026E8000 00000000
Stck: 00000002 026E0000 025DB118 027E2F9C 018C621C 026EB0DC 00000000 02700001
----> 026ED450 - "Games:Taktik/TalesOfTamar/ToT-Client.exe"  Hunk 0008 Offset 00010CC0
----> 0271BE04 - "Games:Taktik/TalesOfTamar/ToT-Client.exe"  Hunk 0004 Offset 00018574
----> 026E0003 - "Games:Taktik/TalesOfTamar/ToT-Client.exe"  Hunk 0008 Offset 00003873
----> 025DB118 - "Games:Taktik/TalesOfTamar/ToT-Client.exe"  Hunk 000E Offset 00002A40
----> 025DB118 - "Games:Taktik/TalesOfTamar/ToT-Client.exe"  Hunk 000E Offset 00002A40
----> 02711300 - "Games:Taktik/TalesOfTamar/ToT-Client.exe"  Hunk 0004 Offset 0000DA70
----> 025DB118 - "Games:Taktik/TalesOfTamar/ToT-Client.exe"  Hunk 000E Offset 00002A40
----> 025DB118 - "Games:Taktik/TalesOfTamar/ToT-Client.exe"  Hunk 000E Offset 00002A40
----> 0271CD5A - "Games:Taktik/TalesOfTamar/ToT-Client.exe"  Hunk 0004 Offset 000194CA
----> 025DB118 - "Games:Taktik/TalesOfTamar/ToT-Client.exe"  Hunk 000E Offset 00002A40
----> 026E8000 - "Games:Taktik/TalesOfTamar/ToT-Client.exe"  Hunk 0008 Offset 0000B870
----> 026E0000 - "Games:Taktik/TalesOfTamar/ToT-Client.exe"  Hunk 0008 Offset 00003870
----> 025DB118 - "Games:Taktik/TalesOfTamar/ToT-Client.exe"  Hunk 000E Offset 00002A40
----> 027E2F9C - "Games:Taktik/TalesOfTamar/ToT-Client.exe"  Hunk 000A Offset 00011F14
----> 018C621C - "Games:Taktik/TalesOfTamar/data/screendat/Karte.dat"  Hunk 0000 Offset 0000017C
----> 026EB0DC - "Games:Taktik/TalesOfTamar/ToT-Client.exe"  Hunk 0008 Offset 0000E94C
PC-8: FFF4377C 00010002 4CED5CFC FFA44E5D 4E752F0E 206F0008 2279027F CC5C2C49
PC *: 20680014 4EA9FDCC 2C5F4E75 2F0E206F 00082279 027FCC5C 2C492068 00144EA9
026ed42e :  266d fff4                  movea.l -$c(a5),a3
026ed432 :  377c 0001 0002             move.w #$1,$2(a3)
026ed438 :  4ced 5cfc ffa4             movem.l -$5c(a5),d2-d7/a2-a4/a6
026ed43e :  4e5d                       unlk a5
026ed440 :  4e75                       rts
026ed442 :  2f0e                       move.l a6,-(a7)
026ed444 :  206f 0008                  movea.l $8(a7),a0
026ed448 :  2279 027f cc5c             movea.l $27fcc5c,a1
026ed44e :  2c49                       movea.l a1,a6
026ed450 : *2068 0014                  movea.l $14(a0),a0
026ed454 :  4ea9 fdcc                  jsr -$234(a1)
026ed458 :  2c5f                       movea.l (a7)+,a6
026ed45a :  4e75                       rts
026ed45c :  2f0e                       move.l a6,-(a7)
026ed45e :  206f 0008                  movea.l $8(a7),a0
026ed462 :  2279 027f cc5c             movea.l $27fcc5c,a1
026ed468 :  2c49                       movea.l a1,a6
026ed46a :  2068 0014                  movea.l $14(a0),a0
026ed46e :  4ea9 fdc6                  jsr -$23a(a1)
Name: "Background CLI"  CLI: "Tales of Tamar"  Hunk 0007 Offset 00010CC0
Zu wenig Chip-Ram und ToT starten:

Wenn zu wenig Chip-Ram vorhanden ist und man ToT starten will, öffnet ToT ein Requester der sagt das ToT mind. 1,5|4MB benötigt. Ich meine das irgendwann früher mal ToT sich nach schliessen des Requesters beendet hat. Mit der aktuellen Version öffnet sich der Requester, aber nach schliessen startet ToT ganz normal.
daxb
r_defender

r_defender
Beiträge: 353
Registriert: Di Mai 09, 2006 6:31 pm

Beitrag von daxb »

Ergänzend zum Crash mit dem Requester Schiffsmeldung... besteht das Problem nicht nur auf dem Kartenscreen. Generell bei zu wenig Chip-Ram frei und der Versuch ein Infofenster oder dergleichen zu öffnen führt zum Crash. Da hier FBlit läuft, vermute ich mal, das ToT (noch) nicht FBlit voll unterstützt. Andererseits schiebt FBlit ja nur Chip nach Fast.
Antworten

Zurück zu „Amiga-Betaversion“