MultiImage

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

TheProgrammer

Betreff: MultiImage

BeitragSa, Sep 18, 2004 17:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi.

Ich hab mal ein paar Funktionen geschrieben, mit denen man
Images laden kann und (viel) viel schneller rotieren kann, als
mit RotateImage. Außerdem gibt es jetzt auch sowas,
wie DrawImageOval.

Am Scalen arbeite ich noch...

Hier der Download:

MultiImage
aktuelles Projekt: The last day of human being
  • Zuletzt bearbeitet von TheProgrammer am Sa, Sep 18, 2004 22:11, insgesamt einmal bearbeitet
 

David

BeitragSa, Sep 18, 2004 20:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Ja, super! Wenn der Download funktionieren würde wärs noch besser!

grüße
http://bl4ckd0g.funpic.de

Holzchopf

Meisterpacker

BeitragSa, Sep 18, 2004 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Boah echt aber Evil or Very Mad Sone Kacke Confused

Sorry aber deine "Paar Funktionen" machen bei mir absolut nichts ausser die (virtuelle) Ramauslastung von 140MB auf 570MB zu treiben. Sowas mag die Festpladde ich schwör Twisted Evil

Wie hast du das zustande gekriegt? Schlecht programmiert? Absicht? Auf jeden Fall Müll. Echt, sorry.

Funktionierts denn auf deinem System ohne 430MB zusätzliche Speicherbelastung? Würd mich gerne noch interessieren Confused

Sorry aber da musst du wohl oder übel noch mal drüber...

Wenn die Funktionen einmal EINWANDFREI funktionieren werden und das halten was du versprichst, könnte es evtl. noch gut sein... aber so...
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

TheProgrammer

BeitragSa, Sep 18, 2004 22:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Funzt bei mir perfekt...
aktuelles Projekt: The last day of human being

Holzchopf

Meisterpacker

BeitragSa, Sep 18, 2004 23:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Auch keine übermässige zusätzliche Arbeitsspeicherauslastung?
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm
 

David

BeitragSa, Sep 18, 2004 23:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Natürlich funktionierts, aber mehr als 600MB vom Arbeitsspeicher belegt ist, sollte man schonmal darüber nachdenken was da falsch läuft...

grüße
http://bl4ckd0g.funpic.de

Gina

BeitragSa, Sep 18, 2004 23:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir sind auch 670MB voll von vorher 260MB. Dat ist ja ganz schön viel... Rolling Eyes

Gina.
www.jk-spiele.de

TheProgrammer

BeitragSa, Sep 18, 2004 23:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Woran kann das liegen

(ich habs nicht bemerkt, weil ich
insgesamt 768 MB hab)

ansonsten läuft bei mir alles flüssig (auf ca. 200 Fps)
aktuelles Projekt: The last day of human being
 

David

BeitragSa, Sep 18, 2004 23:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Selbst wenn du das ganze Bild in den Speicher schaufelst, das dürften doch nur 64x64x3 Byte sein also knapp 12KB. Aber über 400MB, woher kommen diese riesigen Datenmengen??? Stell dir vor du nimmst ein Bild von größeren Dimensionen, der Rechner würd ja knadenlos abschmieren!

Ich würd mal sagen, bevor du die Funktionssammlung auf die Menscheit loslässt, solltest sie erst nochmal ein wenig Debuggt werden!

grüße
http://bl4ckd0g.funpic.de

Lord_Vader

BeitragSa, Sep 18, 2004 23:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey gut gemacht. Gut könnte man zu not selber aber klasse sache!

Holzchopf

Meisterpacker

BeitragSa, Sep 18, 2004 23:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm ok, ich hab jetzt mal (für dich) die ganze angelegenheit debugt. Und ich muss sagen, dass der einzige Fehler, den du gemacht hast, der ist, dass du am Anfang imageCol auf 1000*1000*99 Dimensionierst. Deshalb der hohe Speicherverbrauch; 1000*1000*99 = 99'000'000 Bytes, du dimensionierst es als Integer, also 4 Bytes pro Zahl; 99'000'000 * 4 = 396'000'000 Bytes, oder besser gesagt 377,7MB.

Ergo würde sich hier die Anwendung von Types im zusammenhang mit BlitzArrays sehr gut machen Smile

Wer das Programm also dennoch testen will, soll einfach bei den Werten image_anz, image_maxX und image_maxY je die hinterste Ziffer weglöschen, denn 352KB Ram wird wohl noch jeder zu bieten haben...

Achja, beim Beispiel mit dem Bilddrehen hab ich ca 30 FPS, bei den anderen Beiden über 500, resp. über 160.

Wie schon gesagt, wenn die Funktionen Einwandfrei funktionieren (und damit mein ich jetzt, dass der Anwender nicht noch selber die Anzahl Bilder etc festlegen muss (und zwar möglichst knapp)) könnte es sogar noch besser werden. Dass mit dem "halten was du versprichst" hat sich ja jetzt wohl geklärt, nachdem ich die Ursache für die hohe Speicherbelastung gefunden habe und es tatsächlich mal angucken konnte Wink
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm
 

David

BeitragSa, Sep 18, 2004 23:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

So habs jetzt auchmal getestet!

[syntax="bb":1:e8dfde0cf8]
Bsp1: 104 FPS
Bsp2: 210 FPS
Bsp3: 243 FPS
[/syntax:1:e8dfde0cf8]

Ansonsten läufts ohne Problem! Nich schlecht!

grüße
http://bl4ckd0g.funpic.de

TheProgrammer

BeitragSo, Sep 19, 2004 15:10
Antworten mit Zitat
Benutzer-Profile anzeigen
So.
Jetzt hab ich alles in Types gemacht...
Sollte viel besser funktionieren.

Der Download ist ganz oben.
aktuelles Projekt: The last day of human being

Ctuchik

BeitragSo, Sep 19, 2004 16:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Rotieren lässt sich denke ich nochmal um einiges beschleunigen, wenn du den Sinus und Cosinus vorberechnest, da ja sowieso nur um ganzzahlige Gradzahlen rotiert wird!

Also:
[syntax="bb":1:04a8186e41]
Dim FastSin#(359)
Dim FastCos#(359)
For x=0 To 359
FastSin#(x) = Sin(x)
FastCos#(x) = Cos(x)
Next
[/syntax:1:04a8186e41]
Es dürfen dann eben nur keine Werte über 359 verwendet werden! Das kann man im Zweifelsfall einfach so machen:
[syntax="bb":1:04a8186e41]Winkel = Winkel Mod 360[/syntax:1:04a8186e41]
Zu den Nebenwirkungen gehören trockener Mund, Übelkeit, Erbrechen, Harnstau, schmerzhafter rektaler Juckreiz, Halluzinationen, Demenz, Psychose, Koma, Tod und Mundgeruch!
Magie eignet sich nicht für alle!
Fraget euren Arzt oder Apotheker!
 

David

BeitragSo, Sep 19, 2004 21:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Große Bilder funktionieren leider nichtmehr so gut...
Da wirds unerdräglich langsam!

grüße
http://bl4ckd0g.funpic.de

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group