Vorsicht BUG beim Auflöungswechsel - Absturz.
Übersicht

![]() |
StarGazerBetreff: Vorsicht BUG beim Auflöungswechsel - Absturz. |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo, mir ist da ein ärgelicher Bug in BB aufgefallen, will es nur erwähnen,
falls andere auch das Problem haben, und nicht wissen warum. Ich benutze BB3D, Ver1.96, warscheinlich kommt der Bug auch in BB2D vor. Ich veränder sehr oft die größen der Dims. Wenn man das anscheinend bei zu vielen macht, kommt es dann beim Auflöungswechsel bei den Befehlen EndGraphics() Graphics3D x,x,x,x zu einem Absturz. Als ich dann be ider Fehlersuche den Bug eingegrenzt habe, und bei einigen Dims eine feste Größe vorgab, die ich dann nicht mehr verändert habe, kam es anschliessend beim Auflöungswechsel nicht mehr zum Absturz. Das finde ich schade, und zugleich ärgelich, denn der Bug kommt nicht sovort, erst später. Man kann die Dims Anfangs problemlos verändern, doch irgendwann wird ihm das DimGrößenVerändern zuviel. Grummel, nun muß ich viel in meinem Code ändern. ![]() |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dims sind ja eigentlich auch nicht dafür gedacht in ihrer Größe ständig geändert zu werden. | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Könnte es sein, dass du EndGraphics und danach Graphics machst und versuchst alte Bilder / Modelle / texturen zu zeichnen?
Weil mit EndGraphics werden alle Grafiken freigegeben. Sprich du musst alles komplett neu laden. (das geschieht auch wenn du nur Graphics machen würdest). Ohne genaueres kann ich auf jeden Fall nicht bestätigen das dieser bug überhaupt existiert. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
StarGazer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ne, ich hab schon alles richtig ( hoffe ![]() Es wird nicht auf irgend eine Grafik zugegriffen die es nicht mehr gibt. Der Absturz kommt, nachdem ich alle aus dem Speicher gelöscht habe. Dann rufe ich " EndGraphics() " kommt zu Absturz Ich habe auch " EndGraphics() " auskommentiert ; EndGraphics() damit sovort das " Graphics3D x,x,x,x " aufgerufen wird, aber auch Absturz. Und wie ich schon schrieb, wenn ich die Dim-Größen nicht veränder, dann kommt es nicht mehr zum Absturz. BB verkraftet es wohl nicht wenn man die Dims zu oft verändert. Anfangs geht es ja, bei ein paar, hat aber zu viele die man ändert, kommt es jedenfalls beim Auflöungswechsel zum Absturz. |
||
FBI-blitz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
könntest du mal den code posten?
Haste es schon mal mit "stop" probiert? Also vlt. einfach mal eines einbauen und gucken wo der genau abstürzt (Wenn der debugger das nicht sowieso schon zeigt) |
||
![]() |
StarGazer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dafür ist der Code viel zu groß, und ich habe es auch mit "stop" alles ausgetestet.
Der Debugger zeigt da nix an, es kommt zu einen HardAbsturz, BlitzBasic hängt sich einfach auf, und gibt ne SpeicherfehlerMeldung ab. "Memory access violation" Ich wollte auch nur hier mal davor warnen, damit nicht anderen es gleich ergeht, und sie ihren ganzen Code umändern müssen. |
||
![]() |
Hip Teen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Erstmal: Die "Dims" nennt man Arrays.
Aber hier sieht man wieder was passiert, wenn man programmieren ohne den technischen Background erklärt bekommt. Ist halt der Nachteil einer Sprache, die entfernter von der Maschine ist. Nun, durch zu häufiges redimensionieren fragmentierst du den Speicher. Das ganze ist stärker, je größere Arrays und vor allem von der größe verschiedene Arrays man schreiben will. Irgendwann kann BB kein entsprechendes Array mehr schreiben (wenn es zu groß wird), weil im Arbeitsspeicher kein Block vorhanden ist, der groß genug ist. Tja, dann gibts einen Schreibfehler und BB kollabiert. Hab mal einen Testcode dafür geschrieben. Falls jemand interessiert, wie der Fehler aussieht ![]() Code: [AUSKLAPPEN] For I = 1 To 10000
Dim blub (rand(1000),rand(1000),rand(1000)) Next Ernsthafter Tipp: Überdenk noch mal den Sinn und Zweck von Arrays. Er ist es jedenfalls nicht, diese dauernd in der Größe zu verändern. Nicht umsonst sind sie statisch. |
||
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger" |
![]() |
Markus2Betreff: Beitragsüberschrift |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was mich immer son bischen stört das BB immer alles Schuld sein soll .
Denke doch mal drüber nach wie viele Faktoren es gibt und was alles dazwischen hängt damit alles zusammen einwandfrei läuft . Ihr tut immer so als BB ein komplettes Betriebsystem ist mit perfekten Treibern und Hardware und ihr keine Fehler in der Programmierung macht . |
||
![]() |
StarGazer |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ Hip Teen
Danke, das ist gut zu wissen. Da werde ich wohl lieber meinen ganzen Code durchforsten und sicherhaltshaber korregieren. Das wird viel ![]() Aber hauptsache keine Abstürze mehr. Einen Technischen Background habe ich nicht wirklich. Habe erst seid kurzem den Spaß am programmieren gefunden. Ich wollte keineswegs BB niedermachen. Ich finde es ist eine super teil. Nur da ich dachte es wäre ein Bug, wollte ich es nur mal erwähnen, falls andere auch das gleich Problem haben, oder sie davor warnen. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group