For-Schleifen Zusammenfassen?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Kabelbinder

Sieger des WM-Contest 2006

Betreff: For-Schleifen Zusammenfassen?

BeitragDi, Jun 20, 2006 14:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

Wenn nun in einem Spiel pro durchlauf der Hauptschleife mehrere Aufgaben durch Funtionen ausgeführt werden, die je aus einer For-Schleife bestehen, die z.B. Dimfeld-Einträge überprüfen und setzen, kann man da etwas speed einspahren, indem man statt vielen kleinen Funtionen (Vielen kleinen For-Schleifen) einfach eine großen macht?

also

statt so
Code: [AUSKLAPPEN]
Function anim()
for i = 0 to max
>animieren<
next
end function

Function schieb()
for i = 0 to max
>verschieben<
next
end function

Function coll()
for i = 0 to max
>kollisionen abfragen<
next
end function



so
Code: [AUSKLAPPEN]

Function alles()
for i = 0 to max
>animieren<
>verschieben<
>kollisionen abfragen<
next


würde die untere Function hier schneller ablaufen, als die oberen drei hintereinander?
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

Christoph

BeitragDi, Jun 20, 2006 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Function alles()
for i = 0 to max
>animieren<
>verschieben<
>kollisionen abfragen<
next

Wenn du noch ein End function hinsetzt könnte es klappen.

Ich glaub dass die zweite Variante schneller läuft.

for i=0 to max
for i=0 to max
for i=0 to max

ersetzt durch

for i=0 to max

Das heißt du ersetzt drei (langsame) Schleifen durch eine und drei Funktionen (die aufzurufen usw. kostet ja auch Zeit) durch eine.

->Schneller (aber nicht viiieeel schneller Wink )

aMul

Sieger des Minimalist Compo 01/13

BeitragDi, Jun 20, 2006 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein wenig schneller ist es sicherlich. aber es könnte natürlich dann zu ungewünschten "Effekten"(Fehlern) kommen, da die Reihenfolge verändert wurde. Kommt natürlich auch auf den deinen Code an. Wink

MfG
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

skey-z

BeitragDi, Jun 20, 2006 19:02
Antworten mit Zitat
Benutzer-Profile anzeigen
was man zusammenfassen kann und nicht zu unübersichtlich wird, sollte man auch zusammenfassen, wenn in deinem Fall, alle von 0 bis max gehen, dann ist es kein problem, wenn einige sachen weniger als max gehen, musst du noch ne bedingung setzen, ob die Teile noch ausgeführt werden sollen.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

Kabelbinder

Sieger des WM-Contest 2006

BeitragDo, Jun 22, 2006 16:41
Antworten mit Zitat
Benutzer-Profile anzeigen
thx @ all
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

Plasma

Betreff: hi

BeitragFr, Jun 23, 2006 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
kannst ja mal spasseshalber rolling loops machen
der speed kommt aber auf den cache der cpu an
 

Dreamora

BeitragFr, Jun 23, 2006 19:07
Antworten mit Zitat
Benutzer-Profile anzeigen
skey-z hat Folgendes geschrieben:
was man zusammenfassen kann und nicht zu unübersichtlich wird, sollte man auch zusammenfassen, wenn in deinem Fall, alle von 0 bis max gehen, dann ist es kein problem, wenn einige sachen weniger als max gehen, musst du noch ne bedingung setzen, ob die Teile noch ausgeführt werden sollen.


In dem Falle wäre das Zusammenfassen mehr schädlich als nützlich, da die IF bei jedem durchgang aufgerufen werden, was letztendlich mehr zeit kostet als einfach die loop seperat nochmal auszuführen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group