Bank-limit? [gelöst aber noch nicht ganz abgeschlossen]

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Chrise

Betreff: Bank-limit? [gelöst aber noch nicht ganz abgeschlossen]

BeitragMo, Okt 05, 2009 14:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!

Gibt es irgendwie ein Limit von Speicherbanken?

Ich habe meinen Code jetzt schon zum 30 mal überprüft und durchgegraben und finde auch keinen Fehler.
Die Banken sind alle nur sehr klein haben 100 Bytes. Aber schon nach der 20. erstellten Bank meckert aufeinmal der PC. Entweder liefert er bei Draw3D einen MAV oder einen "Abnormal Programm Termination" fehler beim Beenden des Programms.

Hat jemand auch schon derartiges zu beklagen gehabt?
Wie kann man das beheben?
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.
  • Zuletzt bearbeitet von Chrise am Mo, Okt 05, 2009 19:50, insgesamt einmal bearbeitet

BladeRunner

Moderator

BeitragMo, Okt 05, 2009 14:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich vermute mal dass Banken als RamStreams gehandhabt werden, und dass dann einfach zuviele Streams geöffnet sind. Wie gesagt: vermute.
Hast Du einen Testcode der den Fehler reproduziert damit wir testen können?
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Chrise

BeitragMo, Okt 05, 2009 14:50
Antworten mit Zitat
Benutzer-Profile anzeigen
BladeRunner hat Folgendes geschrieben:
Ich vermute mal dass Banken als RamStreams gehandhabt werden, und dass dann einfach zuviele Streams geöffnet sind. Wie gesagt: vermute.
Hast Du einen Testcode der den Fehler reproduziert damit wir testen können?


Hmmm wäre ne Möglichkeit... ich hab jetzt noch ne Kleinigkeit geändert, jetzt kann man immerhin schon wieder Neue Punkte erstellen, ohne dass ein Fehler kommt.

Ja ich habs mal hochgeladen:

Download entfernt

Vielleicht hab ich auch einfach nur irgendwo nen dermaßenen Wurm drin, aber ich kommt nicht drauf welcher das sein sollte Oo
Ich wäre wirklich jedem dankbar, der das Problem herausfindet!
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.
  • Zuletzt bearbeitet von Chrise am Mo, Okt 05, 2009 19:49, insgesamt einmal bearbeitet

BladeRunner

Moderator

BeitragMo, Okt 05, 2009 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich kann hier grade ein wenig schlecht testen, aber ich seh es mir mal an. Als Workaround würde sich anbieten Banken zusammenzufassen(Merk Dir ein Offset ab wo welche Kleinbank beginnt.)
Vielleicht wäre es eine Idee mal einen Test ohne Draw3D zu machen in dem Du einfach reihenweise Banken erstellst und benutzt.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMo, Okt 05, 2009 15:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Blitz3D verweist zwar einen Fehler auf DrawImage3D, aber da liegt dieser nicht. Ich hab zwar keine Ahnung warum manchmal solche Sachen falsch verwiesen werden, aber die Draw3D bleibt von diesem Fehler Außen vor.

Änder mal ab Zeile 59 folgendes:

Code: [AUSKLAPPEN]
   Frame=CurFrame
   OS=(CurFrame)*4
   
;   If KH28 Then
;      For A.AP=Each AP
;         PokeByte(A\Animation,(CurFrame-0)*4,1)
;         PokeFloat(A\Animation,(CurFrame-0)*4+1,A\Degree#)
;      Next
;   EndIf


Du bist da anscheinend mit den Banken-offsets durcheinander gekommen.

Außerdem hatest du die Schrittweite beim auskommentierten Code auf 5 stehen gehabt.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Chrise

BeitragMo, Okt 05, 2009 19:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Wow du bist ein Genie!

Als Dank hätte ich dir jetzt einen Creditseintrag angeboten, aber da du ja eh schon einen bekommst wegen Draw3D, weiß ich gar nicht, was ich dir da noch anbieten könnte. Embarassed

Noch ne Frage zu dem nun gelösten Problem:
Ich dachte man kann bei Speicherbänken auch ab der Position 0 Werte einspeichern, also 0, dann 4, dann 8, usw. (zumindest bei Integer oder Floats) oder habe ich mich da deftig geirrt? Jetzt funzts zwar aber das würde mich schon noch interessieren, weil wenn CurFrame nicht kleiner 1 werden kann dann wäre OS=(CurFrame-1)*4 ja gleich 0....
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group