D3DERR: Unable to create texture
Übersicht

Boris1993Betreff: D3DERR: Unable to create texture |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hey
Ich habe mal wieder ein Problem ![]() Ich habe zu Testzwecken angefangen eine Conways Game of Life simulation zu schreiben, diese funktioniert auch soweit, ausser das sich die Punkte komischerweise anders verhalten als mit Conways Regeln. Das ist aber erstmal nebensächlich. Das Problem ist, das nach einer gewissen Zahl an updates die Pixmap nichtmehr gerendert wird und da, wo immer die Printausgaben kommen steht dann "D3DERR: Unable to create texture" ohne eine Fehlermeldung des Debuggers. Meist kommt dieser Fehler beim Zeichnen mit der Maus, was man nur machen kann wenn das Programm Pausiert ist. Ausserdem verschwindet mein Desktop Hintergrund immer nachdem der Fehler aufgetreten ist. Code: [AUSKLAPPEN] SuperStrict
Const ps:Byte = 3 Const mxs:Int = 600/ps Const mys:Int = 600/ps Const w:Int = 800 Const h:Int = 600 Graphics w, h, 1, 32 SetClsColor 20, 22, 20 SetBlend ALPHABLEND Global hud:TImage = LoadImage("Data/hud.png") Global pixmap:TPixmap Global img:TImage = CreateImage(mxs, mys) Global map:Byte[mxs, mys] Global time:Float Global start:Float = MilliSecs() Global rtime:Float Global otime:Float Global dtime:Float Global break:Byte = True Repeat Cls uinput() render() clock() Flip 0 Until KeyHit(KEY_ESCAPE) Or AppTerminate() End Function drawpixel(x:Byte, y:Byte, r:Byte = 255, g:Byte = 255, b:Byte = 255, a:Byte = 255, img:TImage = Null) If img <> Null pixmap = LockImage(img) End If WritePixel pixmap, x, y, a*$1000000 + r*$10000 + g*$100 + b If img <> Null pixmap = Null UnlockImage(img) GCCollect() End If End Function Function uinput() Local mx:Int = MouseX() Local my:Int = MouseY() If break = True If mx-100 > 2 And mx-100 < mxs*ps-3 And my > 2 And my < mys*ps-3 If MouseDown(1) map[(mx-100)/ps, my/ps] = 1 If MouseDown(2) map[(mx-100)/ps, my/ps] = 0 End If End If If break = False And KeyHit(KEY_SPACE) break = True ElseIf break = True And KeyHit(KEY_SPACE) break = False End If End Function Function render() If rtime = 0 pixmap = LockImage(img) For Local x:Int = 0 To mxs-1 For Local y:Int = 0 To mys-1 If map[x, y] = 1 drawpixel(x, y, 255, 255, 255) ElseIf map[x, y] = 0 drawpixel(x, y, 0, 0, 0) End If Next Next pixmap = Null UnlockImage(img) GCCollect() End If SetScale ps, ps SetColor 255, 255, 255 DrawImage(img, 100, 1) GCCollect() SetScale 1, 1 DrawImage(hud, 0, 0) DrawText Int(dtime), 10, 10 End Function Function clock() time = MilliSecs()-start If rtime = 0 And break = False cells() End If If break = False rtime:+time-otime dtime:+(time-otime) ElseIf break = True rtime = 0 End If If rtime >= 9 rtime = 0 End If otime = time End Function Function cells() For Local x:Int = 1 To mxs-2 For Local y:Int = 1 To mys-2 Local ncnt:Byte If map[x-1, y] = 1 ncnt:+1 If map[x+1, y] = 1 ncnt:+1 If map[x, y-1] = 1 ncnt:+1 If map[x-1, y-1] = 1 ncnt:+1 If map[x+1, y+1] = 1 ncnt:+1 If map[x, y+1] = 1 ncnt:+1 If map[x-1, y+1] = 1 ncnt:+1 If map[x+1, y-1] = 1 ncnt:+1 If map[x, y] = 0 If ncnt = 3 map[x, y] = 1 Else If ncnt < 2 map[x, y] = 0 If ncnt > 3 map[x, y] = 0 End If Next Next End Function Wäre nett wenn sich einer mal den Code anschaut Liebe Grüße Boris |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe kein hud image und den Grafikmodus habe ich auf Fenstermodus w & h reduziert; 1 Bit Tiefe kommt mir sehr unsinnig vor - dann läuft's Problemlos.
Warum lockst du dauernd ein Bild und schreibst in die Pixmap? Ist das nicht langsam und unnötig? Ein Array & Drawrect erreicht das selbe weniger umständlich. Auf das Schlüsselwörtchen Then würde ich auch nicht überall verzichten, ich finde, es liest sich sehr viel schlechter. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Boris1993 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Bei mir ist aus irgendeinem Grund der dritte Parameter Vollbild oder Fenstermodus und der vierte die Farbtiefe, obwohl es in der Hilfe andersherum steht. Auf Pixmaps bin ich in einem anderen Programm von mir umgestiegen, da ich mit Drawrect&Array nur auf 60 fps gekommen bin und mit Pixmaps hingegen auf 1000.
Lockimage wird ja auch nur bei jedem Update aufgerufen und nicht bei jedem Schleifendurchlauf wie es dann bei den hunderten von drawrect aufrufen der Fall wäre. Der Fehler kommt auch wenn ich im Fenstermodus bin nach ca 219000 millisekunden. Ich seh grade im Taskmanager steigt auch der Arbeitsspeicher durchgehend an trotz GCCollect() ich denke mal daran liegt das dann |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es wäre mir neu, dass Tiefe und Frequenz vertauscht wären.
BlitzMax: [AUSKLAPPEN] Graphics(w, h, 32, 60) 32 Bit Farbtiefe sollte Standard sein. Ohne Angabe der Farbtiefe wird der Fenstermodus aktiviert. Ich glaube, Bmax hält für den Umgang mit einer Pixmap viel Speicher bereit... so oder so ähnlich. Wenn Drawrect bei dir so langsam ist, machst du was anderes falsch, behaupte ich einfach mal. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Boris1993 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich habs jetzt gelöst der Speicherverbrauch steigt nichtmehr an wenn ich SetGraphicsDriver GLMax2DDriver() mache. So langsam sind draw rects ja gar nicht aber wenn man tausende auf einmal zeichnet da geht es wirklich um einiges schneller mit pixmaps es wird ja nur einmal Lockimage gesetzt und danach in der for schleife alle pixel gezeichnet und nicht für jeden pixel einzeln lockimage. das bmax das bei mir vertauscht versteh ich auch nicht. ich habe eine veraltete version 1.36
Aber was ich gerne noch wüsste, wo liegt der fehler in meiner cells funktion, das das programm diese labyrinth artigen strukturen bildet und nicht die normalen strukturen des game of life? falls sich jemand mit den Regeln auskennt |
||
- Zuletzt bearbeitet von Boris1993 am Fr, Jun 01, 2012 14:21, insgesamt einmal bearbeitet
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Na dann aber husch zu BlitzMax.com und neue Version herunterladen! Wir können hier nicht für jede X-beliebige Version Support anbieten.
Du veränderst das Array, deren Zustand du brauchst um die nächste Generation zu berechnen. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Boris1993 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe Bmax noch nicht gekauft (pssst). da ich mit meinem Konto noch kein Onlinebanking machen konnte. Beim nächsten Taschengeld werde ich es mir kaufen also nicht gleich schimpfen das ichs illegal hab ![]() |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bis du bewiesen hast, dass du im Besitz einer Originallizenz bist, kannst du dir weitere Fragen abschminken. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Boris1993 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
kein problem ich hols mir ja demnächst ![]() wie soll ich denn den beweis vorlegen?? |
||
![]() |
Mr.HydeNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
gar nicht, aber dein Gewissen sollte ausschlaggebend sein. ![]() ![]() |
||
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen |
Boris1993 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
genau ![]() bmax macht viel mehr spaß als viele andere sprachen die ich mir angeschaut habe. |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Send mir einen Screenshot von deiner bb.com Account Page mit ausgegrauter BUID wenn Du BMax gekauft hast. Vorher gibt es hier keinen Support mehr von uns für Dich.
~GESCHLOSSEN~ |
||
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 |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Boris1993 hat mir heute per PM den Nachweis für seinen Kauf von BMax zukommen lassen, damit steht einem Support unsererseits nichts mehr im Wege.
Danke für deine Ehrlichkeit, und welcome back! Daher: Wiedereröffnet. |
||
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 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group