Einige Fragen zu BlitzMax

Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

AL90

Betreff: Einige Fragen zu BlitzMax

BeitragSa, Jul 02, 2005 22:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Leute,

Hab da mal ein paar fragen zu BMax.

1) Wie kann man Module erstellen ? Ich bekomme immer ne Fehlermeldung
oder lassen sich mit der BMX Demo1.09 keine erstellen?

2) Wieso ist BMX eigentlich so langsam? Die portierung meiner ExtracEngine des BBCrunchers
läuft ca. 50% lahmer als mit BB.

3) Gibts schon ne Downloadbare Guide (wenn möglich Deutsch) zu BMax?
Die originale zu BMax lässt wohl mehr als zu wünschen übrig. So gut wie
keine Examples zu den Syntaxes.
Ciao
AL90

www.blitztools.de.vu
 

Dreamora

BeitragSa, Jul 02, 2005 23:04
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Kann demo garnicht. sonst braucht man dazu MingW

2. Wie hast du es genau programmiert? Mit oder ohne Grafik?
Reine berechnung ist BM um welten schneller solange man net mein man müsse Double nutzen wo Float reicht Wink

3. Nein gibts nicht. Aber eine englische und deutsche Wiki
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

AL90

BeitragSa, Jul 02, 2005 23:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Dreamora hat Folgendes geschrieben:
1. Kann demo garnicht. sonst braucht man dazu MingW


Was ist MingW und wo bekommt man es ?

Zitat:
2. Wie hast du es genau programmiert? Mit oder ohne Grafik?


Ohne Grafik. Alles reines Speichermanagement. (Banks, Peek & Poke usw.)

Zitat:
Reine berechnung ist BM um welten schneller solange man net mein man müsse Double nutzen wo Float reicht Wink


Wie gesagt, 50% lahmer als BB. Ich vermute aber mal es liegt an der Demo.

Zitat:
3. Nein gibts nicht. Aber eine englische und deutsche Wiki


Gut dann werde ich halt noch was warten. Wink
Ciao
AL90

www.blitztools.de.vu
 

Dreamora

BeitragSo, Jul 03, 2005 0:19
Antworten mit Zitat
Benutzer-Profile anzeigen
3. Dann wirst noch länger warten denke ich. Am einfachsten nimmt man dazu nämlich die Samples die mit der Vollversion kommen. Zig spiele und kleine projekte mit kommentaren etc.


Peek & Poke etc: hast du in der Hauptschleife oder überall mal wieder Flushmem? Sonst bombst du nämlich deinen Speicher zu, was den Speed drastisch zerlegt.


MingW ist ein C/C++ compiler den man im netz herunterladen kann. Er beinhaltet GCC was benötigt wird für den modulecompile.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

AL90

BeitragSo, Jul 03, 2005 0:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Peek & Poke etc: hast du in der Hauptschleife oder überall mal wieder Flushmem? Sonst bombst du nämlich deinen Speicher zu, was den Speed drastisch zerlegt


Nein. Ich habe erstmal eine 1:1 portierung vorgenommen.
Im moment lerne ich erstnoch den umgang mit BM, da scheinbar
einiges anders ist als bei BB. Danke für den Tip mit FlushMem,
werde ich bald mal ausprobieren.
Ciao
AL90

www.blitztools.de.vu
 

Dreamora

BeitragSo, Jul 03, 2005 0:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Hättest du gescheiter den BB importer benutzt Wink
er ist zwar "mist" aber er fügt immerhin die grundlegenden Dinge hinzu Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

AL90

BeitragSo, Jul 03, 2005 1:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Den habe ich ja benutzt. Aber trotzdem ist das ergebniss in sachen speed
mehr als unzufrieden stellend. Der Importer hatte davon abgesehen aber
keine grösseren änderungen vorgenommen ausser z.b. ":" durch ";"
zu ersetzen und so ne sachen. Wie gesagt, peek & Poke sind Syntax-gleich
da ändert der importer eh nicht allzuviel.
Ciao
AL90

www.blitztools.de.vu
 

Dreamora

BeitragSo, Jul 03, 2005 1:39
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm jo wenn er flushmem net einfügt bringt er wirklich nix. Wobei as tut er ja eh net, denn er kann einen code net komplett umschreiben und das wird ja für BM benötigt, damits was taugt
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

AL90

BeitragSo, Jul 03, 2005 2:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Am besten ich schau mir mal die vorhandenen tuts an, vielleicht kann ich
ja noch was wichtiges dazu in erfahrung bringen bevor ich damit weiter mache.
Ciao
AL90

www.blitztools.de.vu

TheShadow

Moderator

BeitragSo, Jul 03, 2005 10:33
Antworten mit Zitat
Benutzer-Profile anzeigen
BBmax unterscheidet sich sehr von ältern BB-Versionen.

Mögliche Verbesserungen:

1) FlushMem benutzen

2) solche Strings vermeiden

FOR i=1 to 1000
mystr=mystr+"a"
NEXT

das ist in BBmax so in der Art ohne FlushMem nicht mehr möglich

3) Strings wie

FOR i=1 to LEN(mystr)
char=ASC(mid$(mystr,i,1))
NEXT

sind auch ohne FlushMem nicht mehr möglich

stattdessen macht man

FOR i=1 to mystr.length
char=mystr[i-1]
NEXT

4) außerdem sowas sollte man auch nicht machen

LOCAL myimage:Int=LOADIMAGE("image.bmp")

sondern

LOCAL myimage:TImage=LOADIMAGE("image.bmp")







MINGW braucht man nur wenn man alle Module selbstkompilieren will. Oder deine eigene Module die C++/ASM-Codes enthalten. Bei reinen BBmax-Modulen braucht man kein MinGW - Vorkompilierung muss man dann per Kommandozeile machen - indem man explizit nur dein einziges Modul kompiliert...

Es gibt ww.blitzwiki.de und blitzwiki.org
Ich arbeite noch an etwas - aber das wird englisch... mal sehen ob ich es hinkriege...
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

Abrexxes

BeitragSo, Jul 03, 2005 10:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich arbeite grad an einer erweiterten übersetzung davon:

http://www.blitzbasic.com/Comm...opic=42519

D2O hilft beim konvertieren in PDF und als Lektor. Wenn alles klappt sollte das in 2-3 Wochen fertig sein. (Habe nicht jeden Tag Zeit.)

Ausserdem sitzt D2O noch hier dran:

http://www.blitz.inarie.de/viewtopic.php?t=145 wo mann schon einiges zum ansehen hat.

So langsam wird es also auch eine kleine Auswahl in Deutsch geben.

cu

Suco-X

Betreff: .....

BeitragSo, Jul 03, 2005 12:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Na bevor ihr da noch Tagelang Schwachsinn erzählt, die Banks in BMax sind wirklich etwas langsamer. Woher ich das weiss? Nein, ich habe nicht geraten oder vermutet, einfach einen Speedtest geschrieben.

Bmax

Code: [AUSKLAPPEN]

Local bytes = (1024^2)*5


Local TestBank = CreateBank(bytes)
Local Time


Time = MilliSecs()

For  i = 0 To BankSize(TestBank)
   PokeByte(TestBank, i, 128)
Next

Print MilliSecs()-Time




BlitzBasic

Code: [AUSKLAPPEN]


Local bytes = (1024^2)*5


Local TestBank = CreateBank(bytes)
Local Time


Time = MilliSecs()

For  i = 0 To BankSize(TestBank)-1
   PokeByte(TestBank, i, 128)
Next

Print MilliSecs()-Time

WaitKey()


Debug natürlich aus
Bmax = 350 ms
BB = 100 ms


Es ist wohl eine Alternative zu Banks gefragt.
Mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB
 

Dreamora

BeitragSo, Jul 03, 2005 12:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Siehts mit OO auch so aus?

Übrigens ist 1 Operation ein extrem 0 sagender Test bei verschiedenen möglichen Operationen!
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Suco-X

Betreff: ......

BeitragSo, Jul 03, 2005 12:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:

Siehts mit OO auch so aus?


Du brauchst ganze 10 Sekunden um das selbst rauszufinden.


Zitat:

Übrigens ist 1 Operation ein extrem 0 sagender Test bei verschiedenen möglichen Operationen!


Wie meinen? Der Test sagt doch das nötigste aus.


Aber um deine Frage zu beantworten, OO scheint das ganze wirklich etwas extrem anders auszusehen.


Code: [AUSKLAPPEN]

Local bytes = (1024^2)*5


Local TestBank:TBank = CreateBank(bytes)
Local Time


Time = MilliSecs()

For  i = 0 To TestBank.Size()
   TestBank.PokeByte(i, 128)
Next

Print MilliSecs()-Time


nurnoch 50 ms.
Mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB
 

Dreamora

BeitragSo, Jul 03, 2005 13:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Was ich mit 1 Operation meinte:
Auf einer Bank führt man mehr als nur Poke oder Peek aus, also muss für ein sinnvolles Benchmark auch alles genutzt werden, sonst ist das Benchmark wertlos. Wir sind hier ja net bei NVIDIA / ATI bzw Intel/AMD die sowas absichtlich machen um miese Chips besser aussehen zu lassen Wink


Aber OO hat ja schon gezeigt, das BM schneller ist. Hätte mich auch gewundert wenn nicht Wink
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Suco-X

Betreff: .......

BeitragSo, Jul 03, 2005 13:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:

Was ich mit 1 Operation meinte:
Auf einer Bank führt man mehr als nur Poke oder Peek aus, also muss für ein sinnvolles Benchmark auch alles genutzt werden, sonst ist das Benchmark wertlos. Wir sind hier ja net bei NVIDIA / ATI bzw Intel/AMD die sowas absichtlich machen um miese Chips besser aussehen zu lassen


Ich hatte nicht vor Futuremark 2007 zu Coden, einfach nur ein Test.
Immerhin habe ich damit innerhalb von 2 Posts AL´s Bankprobleme gelöst, und bin mir auch sicher das die anderen Bankbefehle/Methoden in sachen Speed nicht aus der reihe tanzen werden.

Du dagegen hast es wohl nicht für nötig gehalten statt 5 Posts mal sowas in Erwägung zu ziehen und kommst mir jetzt auch noch mit deiner Mainstream Anti Nvidia/Intel Propaganda. Tut mir leid, nicht mein Ding.
Mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

TheShadow

Moderator

BeitragSo, Jul 03, 2005 16:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Local TestBank:TBank

macht den Unterschied...
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

AL90

BeitragSo, Jul 03, 2005 19:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Mögliche Verbesserungen:

1) FlushMem benutzen


Wann genau sollte man FlushMem denn benutzen? Nach jedem Peek oder
Poke? Kann ich mir eigentlich nicht vorstellen. Aber wenns sinn macht,
was solls dann würde ich auch das tun ums schneller zu bekommen.

Zitat:

2) solche Strings vermeiden

FOR i=1 to 1000
mystr=mystr+"a"
NEXT

das ist in BBmax so in der Art ohne FlushMem nicht mehr möglich


Ist in der Hauptschleife bei meinem code nicht vorhanden. Deshalb wundert mich auch der enorme einbruch im speed.

Zitat:

4) außerdem sowas sollte man auch nicht machen

LOCAL myimage:Int=LOADIMAGE("image.bmp")

sondern

LOCAL myimage:TImage=LOADIMAGE("image.bmp")


Du meinst also in meinem fall (Memory) sollte ich TBank benutzen ?

Zitat:
Bei reinen BBmax-Modulen braucht man kein MinGW - Vorkompilierung muss man dann per Kommandozeile machen - indem man explizit nur dein einziges Modul kompiliert...


Ich habe es wie im Tut beschrieben gemacht, und bekomme aber immer
ne Fehlermeldung. Ich glaube irgendwas mit TList oder so war es. Ich werd's
aber nochmal probieren.

Zitat:
Es gibt ww.blitzwiki.de und blitzwiki.org
Ich arbeite noch an etwas - aber das wird englisch... mal sehen ob ich es hinkriege...


Poste doch einfach mal wenns fertig ist. (DownloadLink etc.) Wink
Ciao
AL90

www.blitztools.de.vu

AL90

Betreff: Re: .....

BeitragSo, Jul 03, 2005 20:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Suco-X hat Folgendes geschrieben:
Bmax = 350 ms
BB = 100 ms

Es ist wohl eine Alternative zu Banks gefragt.



So ich hab jetzt auch mal ein paar tests gemacht. Die ergebnisse sind
durchaus interessannt.:

Decrunch 1MB-File. (Decompress)

BlitzMax = 3,70 Sec.
B3D = 1,30 Sec.
PureBasic = 0,66 Sec.

Mit FlushMem und TBank unter BM habe ich es allerdings noch nicht getestet.
Trotzdem nochmal Danke an alle beteiligten für die Tips. Wink
Ciao
AL90

www.blitztools.de.vu
  • Zuletzt bearbeitet von AL90 am So, Jul 03, 2005 20:09, insgesamt einmal bearbeitet

Suco-X

Betreff: .....

BeitragSo, Jul 03, 2005 20:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, dann teste es Wink
In Sachen Speed wirst du wohl nicht auf die OOP verzichten können.
Flushmem brauchst du während Peek/Poke eigentlich nicht, würde es nur langsamer machen in einer Schleife.
Mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group