Types auch bei einem Objekt sinnvoll ?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

sbrog

Betreff: Types auch bei einem Objekt sinnvoll ?

BeitragDo, Mai 27, 2004 10:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich kann bestimmte eigenschaften eines Gegners, einer Waffe oder die, des SPielers ja in Variablen speichern
Code: [AUSKLAPPEN]

Schaden = 100
Reichweite = 20
LLautstärke = 100
usw


ebenso kann ich es, der Übersicht wegen, obwohl es gar nicht nützt, da ja nur ein Objekt vorhanden ist, in Types speichern.

Code: [AUSKLAPPEN]

Type Shotgun
 Field Schaden
 Field Lautstärke
 Field Reichweite
 Field Feuerrate
 usw
End Type


ist das Sinnvoll oder zieht so etwas mehr an der Geschwindigkeit, als es nützt ?[/code]

Jan_

Ehemaliger Admin

BeitragDo, Mai 27, 2004 10:42
Antworten mit Zitat
Benutzer-Profile anzeigen
dim
between angels and insects

Hubsi

BeitragDo, Mai 27, 2004 10:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Damit ziehst Du wirklich unnötig an der Performance.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Travis

BeitragDo, Mai 27, 2004 11:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

; D E B U G G E R  A U S !!

Graphics 600,600,16,2


PosX = 300
PosY = 300
Speed = 45
Winkel = 30
SX = Cos(Winkel) * Speed
SY = Sin(Winkel) * Speed


Start = MilliSecs()

For i = 1 To 100000000
 PosX = PosX + SX
 PosY = PosY + SY

 If PosX > 600 Then PosX = 0
 If PosX < 0 Then PosX = 600
 If PosY > 600 Then PosY = 0
 If PosY < 0 Then PosY = 600
Next

Print "Variablen: " + (MilliSecs() - Start)




Type Spieler
 Field PosX, PosY, Speed, Winkel, SX, SY
End Type

s.spieler = New spieler
s\PosX = 300
s\PosY = 300
s\Speed = 45
s\Winkel = 30
s\sx = Cos(Winkel) * Speed
s\sy = Sin(Winkel) * Speed


Start = MilliSecs()

For i = 1 To 100000000
 s\PosX = s\PosX + s\SX
 s\PosY = s\PosY + s\SY

 If s\PosX > 600 Then s\PosX = 0
 If s\PosX < 0 Then s\PosX = 600
 If s\PosY > 600 Then s\PosY = 0
 If s\PosY < 0 Then s\PosY = 600
Next

Print "Types: " + (MilliSecs() - Start)

WaitKey


d.H. wenn du etwa 1.000.000 Objekte in dieser Art in Echtzeit berechnen willst, kannst du pro Schleifendurchgang etwa 80% Geschwindigkeit mehr herausholen, wenn du normale Variablen nimmst.

Es ist also schon beträchtlich langsamer, aber wenn man bedenkt, dass es in diesem Beispiel nur 40ms Unterschied sind, kann man den Geschwindigkeitsunterschied bei jeder Art von Spielen mit weniger als 500.000 Objekten gleichzeitig wohl vernachlässigen.

Man sollte also mehr darauf achten, was für's Programmieren am sinnvollsten ist.
www.funforge.org

Ich hasse WASD-Steuerung.

Man kann alles sagen, man muss es nur vernünftig begründen können.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group