Speicherverwaltung von Blitz [erledigt/dummer d:bug-fehler]

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

d-bug

Betreff: Speicherverwaltung von Blitz [erledigt/dummer d:bug-fehler]

BeitragFr, Aug 26, 2005 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann es denn wirklich war sein, das bei BB der Speicherverbrauch eines Images steigt, wenn man via ql:Imagebuffer() darauf zugreift und diverse andere Sachen auf das Image zeichnet ? Ich frage, weil mir dieses bei debuggen von XUI2 aufviel. Also ich schrieb eine neue GFX-Routine und fragte sie vor dem zeichnen und nach dem Zeichnen mit ql:AvailVidMem() ab zog die beiden ergebnisse voneinander ab. Beim ersten Durchlauf verbrauchte ein komplettes Fenster dann 1MB. Nach dem zweiten Durchlauf verbrauchte es dann schon 2MB dann 3MB usw. usw. usw... Alles was ich machte war ein paar Images auf den Imagbuffer mit DrawImage zu zeichnen Sad ... Dann versuchte ich das Unmögliche. Beim Start des Neuaufbau eines Fensters löschte ich es mit ql:FreeImage() machte ein neues mit ql:CreateImage() und siehe da, obwohl ich die gleichen Images auf den neuen Imagebuffer schrieb wie zuvor auf den schon öfters benutzten, blieb der Speicherbedarf annähernd gleich.

Lange Rede kurzer Sinn... VERDAMMT, das kann doch gar nicht sein, oder ? Wink

Nun zur Kernfrage, hab ich einen Denkfehler in meiner Theorie, oder hat Blitz eine echt beschissene Speicherverwaltung ?

[EDIT]quick links vergessen X)[/EDIT]
  • Zuletzt bearbeitet von d-bug am Sa, Aug 27, 2005 13:15, insgesamt 2-mal bearbeitet
 

KHORN

BeitragFr, Aug 26, 2005 21:43
Antworten mit Zitat
Benutzer-Profile anzeigen
FreeImage löscht angeblich nur ein Bild, was mit LoadImage geladen wurde und nicht mit CreateImage.

BlitzBase :
Zitat:
Diese Anweisung entfernt ein vorher mit LOADIMAGE geladenes Bild aus dem Speicher. Dadurch wird mehr Speicher frei. Dies sollte möglichst angewendet werden, um den Speicher zu schonen - besonders bei älteren Rechnern wird es da kritisch.


Frag mich nicht wie man ein Bild löscht was mit CreateImage erstellt wurde Rolling Eyes

(Ich hoffe ich hab nichts falsch verstanden Laughing )

EDIT
{
http://blitzbase.de/befehle2d/createimage.htm
Zitat:

Beachte, dass dieser Befehl überlegt eingesetzt werden muss. Jedes Bild kostet etwas an Grafikspeicher. Bei vielen älteren Rechnern ist die Grenze schnell erreicht. Benutze FREEIMAGE, um ein Bild wieder zu löschen.


Lol...
Da macht mich BlitzBase ein bissl KonfuZe ?¿?
}


Gruß KHORN

d-bug

BeitragFr, Aug 26, 2005 22:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Ne, ne, ql:freeimage löscht definitiv alles was sich bild schimpft und nicht festgenagelt wurde Wink. Das funktioniert ja auch sehr prächtig aber das zeichnen auf ein image macht mir kummer Wink
 

Apocalyptic

BeitragSa, Aug 27, 2005 0:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe gerade versucht, dieses Phänomen mit sinnlos aneinander gereihten Befehlen zu reproduzieren:

Code: [AUSKLAPPEN]
Img1=CreateImage(100,100)
Img2=CreateImage(50,50)

m1=AvailVidMem()

For i=0 To 6000

   SetBuffer ImageBuffer(Img1)

   Cls

   Color 255,255,0
   Rect 0,0,100,100,0


   SetBuffer ImageBuffer(Img2)

   Color 255,255,255
   Rect 0,0,50,50

   Color 255,0,0
   Rect 5,5,40,40


   SetBuffer ImageBuffer(Img1)

   DrawBlock Img2,25,25

Next

m2=AvailVidMem()

SetBuffer FrontBuffer()

Text 0,0,"Grafikspeicher vorher : "+m1
Text 0,15,"Grafikspeicher nachher: "+m2
Text 0,35,"Differenz: "+(m2-m1)

DrawBlock Img1,0,70

WaitKey()


Bei mir ändert sich der verfügbare Grafikspeicher nicht. Kannst du den Fehler mit einem anderen Code reproduzieren? Denn ohne den Code zu kennen würde ich den Fehler im selbigen suchen Wink
Suum cuique

[ www.ffs-net.de.vu ] [ Raycaster ]
 

Dreamora

BeitragSa, Aug 27, 2005 0:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Da darf sich der Speicher auch nicht ändern. Warum sollte er?

Vor dem ersten Messen erzeugst du 2 Images und beim 2. Messen existieren diese immer noch. Da kann sich nix ändern

die bildgrösse im speicher ändert sich nicht, nur weil du 6000 mal draufzeichnest oder sonst etwas machst.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Apocalyptic

BeitragSa, Aug 27, 2005 0:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Erm Dreamora... darum ging es. d:bug meint, im ImageBuffer Befehl sei ein Bug, den ich nicht nachvollziehen kann...

d:bug hat Folgendes geschrieben:
Kann es denn wirklich war sein, das bei BB der Speicherverbrauch eines Images steigt, wenn man via ImageBuffer() darauf zugreift und diverse andere Sachen auf das Image zeichnet ?
Suum cuique

[ www.ffs-net.de.vu ] [ Raycaster ]
 

Dreamora

BeitragSa, Aug 27, 2005 0:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe nur versucht zu erläutern, warum wegen dem zeichnen auf einen Buffer, der Speicher nicht steigen kann. Denn die Abmessung und Farbtiefe des Bildes ändert sich nicht, insofern kann auch die Grösse im Grafikspeicher nicht ändern.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Apocalyptic

BeitragSa, Aug 27, 2005 1:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Dass sich beim Speicherverbrauch nichts ändern sollte bzw. theoretisch nichts ändern kann, war von vornerein klar. Da d:bug aber von einem Bug innerhalb des ImageBuffer-Befehls ausgeht, sollte man die Diskrepanz zwischen Praxis und Theorie nicht außer Acht lassen Wink
Suum cuique

[ www.ffs-net.de.vu ] [ Raycaster ]
 

Dreamora

BeitragSa, Aug 27, 2005 1:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder ein übersehenes Detail im Code.
Solange er kein Codebeispiel liefern kann, dass das Problem zeigt, halte ich insofern dem "wie es sein sollte und bei jedem anderen ist" Zustand nach Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Apocalyptic

BeitragSa, Aug 27, 2005 1:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Dieser Meinung bin ich nach dem von mir geposteten Code ebenfalls:

Irgendwo in d:bugs Code scheint sich ein Fehler eingeschlichen zu haben.

Q.e.c.

(Quod erit convictum)

Wink

(Mit meinen vorangegangenen Posts wollte ich nur auf die von dir gezeigte Abneigung ("Es darf nicht sein, was nicht sein darf") hinweisen Smile )
Suum cuique

[ www.ffs-net.de.vu ] [ Raycaster ]

d-bug

BeitragSa, Aug 27, 2005 8:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Nah, Jungens, nun streitet euch mal nicht Wink !!

Es ist mir durchaus klar, daß das eigentlich garnicht sein darf, aber genau das ist es was mich so irritiert.

Diese Function ist wahrscheinlich für den Membug verantwortlich (Achtung lang und unübersichtlich für das ungeschulte XUI2 Auge) :
Code: [AUSKLAPPEN]
Function XUI2_WindowCreateForm (gad.xui2window)

 If gad <> Null

  If gad\closed = False

   Local startmem = AvailVidMem(),starttime# = MilliSecs()

   Local x,y,w,h
   Local tempbuffer,tempstring$,tempA,tempB
   Local seek
   Local formoffset = 0
   Local state = 0
   Local stateoffset = 0
   Local temp[11]

   ;Buffer zwischenspeichern
   tempbuffer = GraphicsBuffer()

   ;Höhe festlegen
   If gad\minimized
    h = gad\th
   Else
    h = gad\h
    If gad\option And 1
     formoffset = gad\th - gad\dat\integer_data[14]
    EndIf
   EndIf

   ;vorhandenes Bild löschen
   If gad\rebuild = True
    If gad\image <> 0 FreeImage gad\image
    If gad\tempimage <> 0 FreeImage gad\tempimage
   EndIf

   If gad\image = 0
    gad\image = CreateImage(gad\w,h)
    gad\recalc = True
    gad\rebuild = False
   EndIf

   If gad\recalc = True

    SetBuffer ImageBuffer(gad\image)

    ;Form löschen
    Color 255,0,255
    Rect 0,0,gad\w,h,1

    ;Status des Fensters auswerten
    If xui2\actwindow <> gad state = 1

;- GFX Form erstellen -----------------------------------------------------------------------
    If gad\minimized = False

     ;Hintergrund einzeichnen
     Color 0,0,gad\dat\integer_data[6]
     Rect 0,0,gad\w,gad\h,1
     If gad\dat\string_data[1] <> ""
      temp[1] = LoadImage(gad\dat\path+gad\dat\string_data[1])
      XUI2_DrawBackground (gad\image,temp[1],0,formoffset,gad\w,gad\h-formoffset,gad\dat\integer_data[7])
     EndIf

     ;Menüzeile einzeichnen
     If gad\option And 1024
      Color 0,0,gad\dat\integer_data[69]
      Rect 0,gad\th,gad\w,gad\menuh,1
      If gad\dat\string_data[10] <> ""
       temp[2] = LoadImage(gad\dat\path+gad\dat\string_data[10])
       XUI2_DrawBackground (gad\image,tempA,0,gad\th,gad\w,gad\menuh,gad\dat\integer_data[70])
      EndIf
      If gad\dat\string_data[9] <> ""
       temp[3] = LoadAnimImage(gad\dat\path+gad\dat\string_data[9],gad\dat\integer_data[63],gad\dat\integer_data[64],0,2)
       temp[4] = CreateImage (gad\w,gad\menuh)
       SetBuffer ImageBuffer(temp[4])
       XUI2_ImageScale (temp[3],0,0,gad\w,gad\menuh,gad\dat\integer_data[65],gad\dat\integer_data[66],gad\dat\integer_data[67],gad\dat\integer_data[68],state)
       MaskImage temp[4],255,0,255
       SetBuffer ImageBuffer(gad\image)
       DrawImage temp[4],0,gad\th
      Else
       SetBuffer ImageBuffer(gad\image)
       XUI2_DrawLine (1,formoffset+gad\menuh-1,gad\w-1,True,True)
      EndIf
     EndIf

     ;Statuszeile einzeichnen
     If gad\option And 2048
      Color 0,0,gad\dat\integer_data[79]
      Rect 0,gad\h-gad\statush,gad\w,gad\statush,1
      If gad\dat\string_data[12] <> ""
       temp[5] = LoadImage(gad\dat\path+gad\dat\string_data[12])
       XUI2_DrawBackground (gad\image,tempA,0,gad\h-gad\statush,gad\w,gad\statush,gad\dat\integer_data[80])
      EndIf
      If gad\dat\string_data[11] <> ""
       temp[6] = LoadAnimImage(gad\dat\path+gad\dat\string_data[11],gad\dat\integer_data[73],gad\dat\integer_data[74],0,2)
       temp[7] = CreateImage (gad\w,gad\statush)
       SetBuffer ImageBuffer(temp[7])
       XUI2_ImageScale (temp[6],0,0,gad\w,gad\statush,gad\dat\integer_data[75],gad\dat\integer_data[76],gad\dat\integer_data[77],gad\dat\integer_data[78],state)
       MaskImage temp[7],255,0,255
       SetBuffer ImageBuffer(gad\image)
       DrawImage temp[7],0,gad\h-gad\statush
      Else
       SetBuffer ImageBuffer(gad\image)
       XUI2_DrawLine (1,gad\h-gad\statush-1,gad\w-1,True,True)
      EndIf
     EndIf

     ;Rahmen einzeichnen
     If gad\frame
      If gad\dat\string_data[0] <> ""
       temp[8] = LoadAnimImage(gad\dat\path+gad\dat\string_data[0],gad\dat\integer_data[0],gad\dat\integer_data[1],0,2)
       temp[9] = CreateImage (gad\w,gad\h-formoffset)
       SetBuffer ImageBuffer(temp[9])
       XUI2_ImageScale (temp[8],0,0,gad\w,gad\h-formoffset,gad\dat\integer_data[2],gad\dat\integer_data[3],gad\dat\integer_data[4],gad\dat\integer_data[5],state)
       MaskImage temp[9],0,255,255
       SetBuffer ImageBuffer(gad\image)
       DrawImage temp[9],0,formoffset
      Else
       SetBuffer ImageBuffer(gad\image)
       XUI2_DrawRect (0,formoffset,gad\w,gad\h-formoffset,False,True,1+2+4+8)
      EndIf
     EndIf

     ;Größenänderungsecke einzeichnen
     If gad\option And 64
      If gad\maximized = False
       If gad\dat\string_data[8] <> ""
        temp[10] = LoadAnimImage(gad\dat\path+gad\dat\string_data[8],gad\dat\integer_data[60],gad\dat\integer_data[61],0,2)
        MaskImage temp[10],255,0,255
        SetBuffer ImageBuffer(gad\image)
        DrawImage temp[10],gad\w-gad\dat\integer_data[60],gad\h-gad\dat\integer_data[61]
       EndIf
      EndIf
     EndIf
    EndIf

;- GFX Titlebar erstellen -------------------------------------------------------------------
    If gad\option And 1
     If gad\minimized stateoffset = 2

     ;Titelzeile einzeichnen
     If gad\dat\string_data[2] <> ""
      temp[11] = LoadAnimImage(gad\dat\path+gad\dat\string_data[2],gad\dat\integer_data[8],gad\dat\integer_data[9],0,4)
      SetBuffer ImageBuffer(gad\image)
      XUI2_ImageScale (temp[11],0,0,gad\w,gad\th,gad\dat\integer_data[10],gad\dat\integer_data[11],gad\dat\integer_data[12],gad\dat\integer_data[13],state+stateoffset)
     Else
      SetBuffer ImageBuffer(gad\image)
      If gad\minimized
       XUI2_DrawRect (0,0,gad\w,gad\th,True,True,1+2+4+8)
      Else
       XUI2_DrawRect (0,0,gad\w,gad\th,True,True,1+2+4)
      EndIf
     EndIf
   
     ;Farbverlauf einzeichnen
     If gad\dat\integer_data[15] = 1
      Select state
       Case 0
        tempA = gad\dat\integer_data[17]
        tempB = gad\dat\integer_data[18]
       Case 1
        tempA = gad\dat\integer_data[19]
        tempB = gad\dat\integer_data[20]
      End Select
      SetBuffer ImageBuffer(gad\image)
      XUI2_DrawGradient (tempA,tempB,gad\dat\integer_data[21],gad\dat\integer_data[23],gad\w-gad\dat\integer_data[21]-gad\dat\integer_data[22],gad\th-gad\dat\integer_data[23]-gad\dat\integer_data[24],gad\dat\integer_data[16])
     EndIf

     ;Text einzeichnen
     If gad\caption <> ""
      tempA = LoadFont(gad\dat\string_data[3],gad\dat\integer_data[25],gad\dat\integer_data[26],gad\dat\integer_data[27],gad\dat\integer_data[28])
      tempC = gad\w - (2 * gad\dat\integer_data[31])
      tempE = XUI2_TextWidth(gad\caption,tempA)
      If gad\buttonoffset tempC = tempC - gad\buttonoffset
      If gad\icon tempC = tempC - ImageWidth(gad\icon) - gad\dat\integer_data[39]
      If tempC < tempE
       tempstring = XUI2_FitString(gad\caption,tempC,"...")
      Else
       tempstring = gad\caption
      EndIf
      w = XUI2_TextWidth(tempstring,tempA)
      h = XUI2_TextHeight(tempstring,tempA)
      Select gad\dat\integer_data[33]
       Case 1
        x = gad\dat\integer_data[31]
        If gad\icon <> 0
         If gad\dat\integer_data[38] = 1
          x = gad\dat\integer_data[39] + ImageWidth(gad\icon) + gad\dat\integer_data[31]
         EndIf
        EndIf
        If gad\buttonoffset
         If gad\dat\integer_data[43] = 1
          x = gad\buttonoffset + gad\dat\integer_data[31]
         EndIf
        EndIf
       Case 2
        If gad\icon <> 0
         tempG = gad\w - gad\buttonoffset - ImageWidth(gad\icon) - gad\dat\integer_data[39]
        Else
         tempG = gad\w - gad\buttonoffset
        EndIf
        x = (gad\w/2) - (w/2)
        If gad\icon <> 0
         If gad\dat\integer_data[38] = 1
          x = gad\dat\integer_data[39] + ImageWidth(gad\icon) + ((tempG/2) - (w/2))
         EndIf
        EndIf
        If gad\buttonoffset
         If gad\dat\integer_data[43] = 1
          x = gad\buttonoffset + ((tempG/2) - (w/2))
         EndIf
        EndIf
       Case 3
        x = gad\w - gad\dat\integer_data[31] - w
        If gad\icon <> 0
         If gad\dat\integer_data[38] = 2
          x = gad\w - gad\dat\integer_data[39] - ImageWidth(gad\icon) - gad\dat\integer_data[31] - w
         EndIf
        EndIf
        If gad\buttonoffset
         If gad\dat\integer_data[43] = 1
          x = gad\w - gad\buttonoffset - gad\dat\integer_data[31] - w
         EndIf
        EndIf
      End Select
      y = (gad\th/2) - (h/2)
      Select state
       Case 0
        If gad\dat\integer_data[34]
         Color 0,0,gad\dat\integer_data[37]
         XUI2_Text (x+gad\dat\integer_data[35],y+gad\dat\integer_data[36],tempstring,0,1,tempA)
        EndIf
        Color 0,0,gad\dat\integer_data[29]
       Case 1
        Color 0,0,gad\dat\integer_data[30]
      End Select
      XUI2_Text (x,y,tempstring,0,1,tempA)
      FreeFont tempA
     EndIf

     ;Icon einzeichnen
     If gad\icon <> 0
      Select gad\dat\integer_data[38]
       Case 1
        x = gad\dat\integer_data[39]
       Case 2
        x = gad\w - gad\dat\integer_data[39] - ImageWidth(gad\icon)
      End Select
      y = (gad\th/2) - (ImageHeight(gad\icon)/2) + gad\dat\integer_data[40]
      Select state
       Case 0
        tempA = gad\dat\integer_data[41]
       Case 1
        tempA = gad\dat\integer_data[42]
      End Select
      XUI2_DrawIcon (gad\icon,gad\image,x,y,tempA,0,$FFFF00FF)
     EndIf

    EndIf

    SetBuffer tempbuffer
    gad\tempimage = CopyImage(gad\image)
    MaskImage gad\image,255,0,255

    For i = 0 To 11
     FreeImage temp[i]
    Next

   EndIf

   DebugLog "<"+gad\caption+"> VMEM-usage : "+((startmem - AvailVidMem())/1024)+"/"+(AvailVidMem()/1024)+" / Looptime : "+((Float(MilliSecs()) - starttime)/1000.0)

  EndIf
 EndIf

End Function


und hier noch ein link zum testen, mit zwei exen. http://d-bug.future-coding.de/...MEMBUG.rar (1.5mb)

Den kompletten code hier zu pasten wäre glaube ich extrem schlecht, außerdem bräuchte ich dafür mindestens 20 threads Wink


Klickt mal zwischen den beiden fenstern hin und her und beobachtet dabei die VMEM-Anzeige am unteren Bildschirmrand Wink

greetz
 

Ava

Gast

BeitragSa, Aug 27, 2005 9:22
Antworten mit Zitat
Ich vermute einfach mal, dass Dir wahrscheinlich irgendwo ein Image auf der Strecke bleibt ... ein "temporäres", dass Du womöglich übersehen hast? Confused

Deinen Code sorgfältig durchzusehen ist mir jetzt aber grad n bissel zu viel... Rolling Eyes
Also bleibt es bei meiner Vermutung.
 

Apocalyptic

BeitragSa, Aug 27, 2005 12:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm. Deswegen meinte ich ja: Mit einem anderen Code reproduzieren... Nur wenige werden die Überwindung aufbringen, sich in einen derart langen, zusammenhangslosen Code einzulesen Wink

Mal was anderes: Die AvailVidMem()-Anzeige in der Exe ist wohl in kb und nicht in mb angegeben, oder? Wink

Und sollte es hier nicht eher so aussehen?BlitzBasic: [AUSKLAPPEN]
   If gad\rebuild = True
If gad\image <> 0 FreeImage gad\image:gad\image=0
If gad\tempimage <> 0 FreeImage gad\tempimage:gad\tempimage=0 ;wird zwar nicht abgefragt, aber man kann ja nie wissen Wink
EndIf

If gad\image = 0
gad\image = CreateImage(gad\w,h)
gad\recalc = True
gad\rebuild = False
EndIf


Könnte es vielleicht sein, dass gad\rebuild nicht dann True ist, wann es True sein sollte?
Denn eigentlich sollte der ursprüngliche Code einen Fehler produzieren, wenn gad\rebuild=True ist: Das Bild mit der Speicheradresse gad\image wird gelöscht, die Variable gad\image beinhaltet aber immer noch die Speicheradresse und ist somit ungleich null, was zur Folge hat, dass kein neues Bild erstellt wird.
Wäre gad\rebuild also nicht True, würde gad\tempimage nie aus dem Speicher gelöscht werden, was auch den steigenden Speicherverbrauch erklären würde.
Aber wie bereits erwähnt: Ohne Zusammenhang kann man mit dem Code nicht viel anfangen Smile Denn ohne zu wissen, wann gad\rebuild gebraucht wird, kann ich nur noch zu folgendem raten: Ergänze deine Funktion so, dass unabhängig von gad\rebuild folgendes abgefragt wird:BlitzBasic: [AUSKLAPPEN]
If gad\tempimage <> 0 FreeImage gad\tempimage:gad\tempimage=0



Ich weiß nicht, ob Folgendess hier reingehört (ist wahrscheinlich nur bei der "Demo" der Fall): Beim Klick auf den Rand eines Fensters wird der "Größe-Ändern"-Cursor angezeigt, das Programm stürzt aber ab (MAV). Oder ist beim Ändern der Größe des Fensters gad\rebuild=True? Dann tritt der oben erläuterte Fehler ein.
Suum cuique

[ www.ffs-net.de.vu ] [ Raycaster ]

d-bug

BeitragSa, Aug 27, 2005 13:04
Antworten mit Zitat
Benutzer-Profile anzeigen
O.K. eben, weil dieser code sehr Umfangreich ist und keiner lust hat sowas zu lesen, habe ich ihn beim ersten post nicht einbezogen.

hm, meine Vermutung war auch schon, daß FreeImage einfach nicht schnell genug ist und der pointer des Images nicht rechtzeitig gelöscht wird. Mal austesten.

Danke euch trotzdem allen, daß ihr mir helfen möchtet ! Hatte mir auch schon gedacht, daß der bug nicht von Blitz kommt. Hatte nur gehofft, daß einer von euch hier, schonmal ein ähnliches Phenomen hatte, oder davon hörte, damit ich diese Vermutung gänzlich auschließen kann !

@Apocalyptic
gad\tempimage wird zur zeit nicht nur nicht abgefragt, sondern auch nicht benutzt Wink ist für eine spätere anwendung gedacht, um das zeichnen der gadgets zu vereinfachen und zu beschleunigen Wink

@Ava
Schön das du auch mal wieder da bist ! Was ist denn eigentlich aus deinem Shooter mit den geilen GFX geworden ? Den aus dem WIP thread meine ich. Smile

[EDIT]
Embarassed Embarassed Embarassed Apocalyptic und Ava haben recht, ich hab kontinuierlich vergessen gad\tempimage aus dem Speicher zu löschen... Jetzt stell ich mich erst mal in die nächste Ecke und schäm mich ne Runde
Embarassed Embarassed Embarassed
[/EDIT]

greetz + thx
 

Ava

Gast

BeitragSa, Aug 27, 2005 20:41
Antworten mit Zitat
d:bug hat Folgendes geschrieben:
@Ava
Schön das du auch mal wieder da bist ! Was ist denn eigentlich aus deinem Shooter mit den geilen GFX geworden ? Den aus dem WIP thread meine ich. Smile


Oh, das ist ja nun auch schon so lange her. Tja hm, wären mir damals nicht die Probleme mit meinem Rechner (meiner Festplatte Confused) dazwischen gekommen... es hätte eine gute Chance gehabt, bald als kleine Demo zu erscheinen. Aber so ist es nun futsch. Ein kleines Remake hatte ich daraufhin noch mal in Angriff genommen, aber doch sehr bald daran die Lust verloren. Sad Ich habe nun lange Zeit gar nicht mehr selbst programmiert ... wenn es nochmal einen Spaceshooter von mir geben wird, dann wird dieser dann aber vermutlich nicht in 3D erscheinen. Seitdem ich BlitzMax besitze, bin ich nämlich erstmal wieder back to the Roots. *g* ... sogar vom Rendern auf's Pixeln umgestiegen... Rolling Eyes

d-bug

BeitragSa, Aug 27, 2005 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
hm, schade, denn im rendern warst/bist du ziemlich klasse Wink, ähnlich wie crack... Naja, aber was solls, erst mal GL mit Bmax. Das steht mir auch noch bevor, wenn ich XUI2 endlich fertig hab X)... Vorher möchte ich damit erst mal garnicht anfangen, denn wie ich mich kenne lass ich XUI2 dann liegen und machs direkt auf BMax neu Sad... Dafür wars einfach zuviel Arbeit !

greetz
 

Ava

Gast

BeitragSa, Aug 27, 2005 21:12
Antworten mit Zitat
Ja, Rendern kann ich soweit erstmal, dass ich damit einigermassen zufrieden bin ... nun möchte ich noch Pixelkönigin werden! Smile *grins* *üben üben üben*

Deine Bedenken wegen BlitzMax kann ich sehr gut nachvollziehen ... hach, und besonders für eine GUI bietet Max soviele Vorzeile - aber erst einmal etwas schon so weit entwickeltes wie Deine XUI fertigzustellen, ist natürlich viel schöner, als das die ganze Arbeit im Papierkorb landet und noch mal alles von Vorne beginnt!

Ach übrigens.... schön das Du den Fehler nun doch noch finden konntest! Smile *gratz*

d-bug

BeitragSa, Aug 27, 2005 21:34
Antworten mit Zitat
Benutzer-Profile anzeigen
hm, der pixel-gott status ist aber schon an divi vergeben worden Wink... da mußt du dich schon richtig anstrengen *g*...
 

Ava

Gast

BeitragSa, Aug 27, 2005 21:38
Antworten mit Zitat
Ja, das weis ich doch. Smile
Ich möchte auch gar nicht versuchen, ihn von seinem Podest zu schubsen *g* dafür respektiere und bewundere ich seine Pixelkunst viel zu sehr, es wäre anmaßend von mir, auch nur darüber nachzudenken. Embarassed

D2006

Administrator

BeitragSo, Aug 28, 2005 13:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

entschuldigt bitte, aber was ist das denn hier für eine Getriefe und Geschleime ... ??? Laughing

Als müsstet ihr allen vorhalten wie schlecht sie Grafiken erstellen können. Naja, vielleicht redet ja nur der Neid in mir. Wink

Übrigens: Willkommen zurück Ava

MfG
D2006

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group