Bank, Dim, Type, Blitzarray, was wann?
Übersicht

![]() |
s_m_wBetreff: Bank, Dim, Type, Blitzarray, was wann? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es gibt eine Menge Wege etwas zu speichern, jedoch ist mir noch schleierhaft was wann am besten und schnellsten ist, kann mich da jemand aufklären? | ||
Sheep Happens |
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Types und Dims. | ||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hängt vom jeweiligen Fall ab. Am besten testest Du die einzelnen Methoden durch und schaust was am schnellsten für dich läuft.
Generell haben Types ein wenig mehr Verwaltungsaufwand intern, sind also langsamer als die anderen Strukturen. Dafür sind sie unschlagbar flexibel. Arrays und Banks nehmen sich nicht wirklich viel. |
||
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 |
![]() |
s_m_w |
![]() Antworten mit Zitat ![]() |
---|---|---|
Okay, also ganz generell könnte man sagen, Types wenn man Verwaltung braucht, dims für den Rest? | ||
Sheep Happens |
dgxjerry |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also ich benutz eigentlich nur Types und Dims, und du kannst fast alles damit machen. Dims sind halt am einfachsten anzusprechen und auch sehr schnell. Und Types sind eben sehr Variabel, wie BladeRunner schon gesagt hat. In Banks kannst du unmengen an Daten ablegen und das auch sehr schnell, aber das ansprechen ist komplizierter als bei Dims. Aber man kann sie Resizen, ohne dass daten verloren gehen. Das macht sie vielleicht ein bisschen flexibler als Dims. Aber ich würde dir trotzdem Dims und Types empfehlen. In der Hilfe lernst du alles was du dazu brauchst. | ||
I don't suffer from insanity - I enjoy every minute of it!
It's not a bug - It's a feature! |
![]() |
s_m_w |
![]() Antworten mit Zitat ![]() |
---|---|---|
dgxjerry hat Folgendes geschrieben: Aber ich würde dir trotzdem Dims und Types empfehlen. In der Hilfe lernst du alles was du dazu brauchst.
Ich benutze BB seit 4 Jahren (oder so?), ich kann wohl schon mit Types und Dims umgehen, hatte nur das Gefühl, dass so eine Frage eher in die Beginners-Corner passt ![]() |
||
Sheep Happens |
dgxjerry |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dann is ja alles klar ![]() |
||
I don't suffer from insanity - I enjoy every minute of it!
It's not a bug - It's a feature! |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dims, Arrays und Banks sind alles Datenfelder, die von der Art der Speicherung getrennt von Types zu betrachten sind. Dabei ist die so gerne gestellte Frage "was ist schneller" in den seltensten Fällen überhaupt von Relevanz.
Es ergibt sich also folgende Gliederung: 1. Types Types ist eine Sammlung von strukturierten Daten ähnlicher Art, die normalerweise keine bestimmte Reihenfolge haben. Ein Satz kann jederzeit ohne weiteres eingefügt oder gelöscht werden. Sie werden für alle "Verwaltungsaufgaben" benutzt, für Daten die sich zwischendrin in der Anzahl ändern. z.B. für Spielobjekte, Gegner, Netzwerk-Clients, GUI-Objekte, Partikel, etc. 2. Felder Felder sind ein einfach ein Block aus fortlaufenden ähnlichen/gleichartiger Daten. Die Reihenfolge der Daten ist von größter Bedeutung. Eine falsche Reihenfolge führt zu Fehlern in der Verarbeitung. Die Daten sind relativ statisch, wenn sich die Anzahl ändert, dann wird normalerweise gleich ein komplett neues Feld erstellt. Typische Beispiele sind Tilemaps, Bilder, Listen von zu ladenden Images oder Sounds, alles was einmal geladen wird und sich nicht mehr groß ändert. 2.1. DIMs Dims ist der Standard für Felder, dank mehrere Dimensionen ideal für Tilemaps geeignet. Dims sind immer global. 2.2. Blitzarrays Blitzarrays sind "kleine" Dims, verwendbar immer dann, wenn man schnell mal lokal in einer Funktion oder innerhalb eines Types ein kleines Feld braucht. 2.3. Banks Banks sind die flexibelste Art der Felder. Sie lassen sich problemlos an Funktionen übergeben und in Types verwalten. Außerdem kann man hier auch einzelne Bytes speichern um Platz zu sparen. |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Abgesehen von dem was BIG BUG geschrieben hat, lässt sich vielleicht noch sagen, das Banks sehr hilfreich sind, wenn man große Mengen an Daten von der Festplatte lesen/auf die Festplatte schreiben möchte.
Man kann mit Readbytes ![]() ![]() Das ist merkbar schneller als einzelne Bytes aus den Dateien zu lesen und nach jedem Byte wieder zu entscheiden wie es weitergehen soll. Außerdem kann man so z.B. Spielstände in einem Bank vorbereiten um sie dann fix auf die Platte zu speichern. Auch das geht schneller als ein Haufen WriteByte ![]() Zumal diese Methoden natürlich sehr flexibel sind, dafür aber auch einen Mehraufwand für den Programmierer bedeuten. |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
![]() |
PsychoKhan |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was ist denn eigentlich schneller?
Code: [AUSKLAPPEN] Type mydata Field a Field b End Type Dim Welt.Feld (20, 20) oder das hier: Code: [AUSKLAPPEN] Dim Welt_a(20, 20) Dim Welt_b(20, 20) |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie wäre es mit testen ? ![]() |
||
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