Relative Geschwindigkeit der Befehle

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Benibaerenstark

Betreff: Relative Geschwindigkeit der Befehle

BeitragMi, Nov 23, 2005 17:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Zusammen,

gibt es eine Liste oder Übersicht, wie lange ein Norm-Computer braucht um einen Befehl in Blitz 3D auszuführen? Wichtig wäre mir dabei nicht der absolute Wert, sondern der relative, also die Befehle im Vergleich.

So im Stil:

If-Abfrage mit einer Bedingung =0.001s
select setzen=0.002s
case Abfrage=0.002
Hideentity=0.003s
Rotateentity=0.008s
...

(Frei erfundene Werte)

Somit wäre es leichter Speed-Optimerungen zu machen, man müsste nicht alle Varianten durchspielen, sondern kann sich im voraus ungefähr ausrechnen, was schneller ist.


mfg beni
3D Scanner selber bauen? -> www.bewe-3dscanner.ch.vu

Mr.Keks

BeitragMi, Nov 23, 2005 17:58
Antworten mit Zitat
Benutzer-Profile anzeigen
du kannst das recht einfach testen.... du führst eine schleife ein paar tausend mal ohne einen befehl darin aus und führst sie danach noch mal aus mit dem befehl. du misst die dafür benötigten millisekunden und erfährst aus der differenz, wie lange blitz braucht um den befehl sonst wie viele tausend mal auszuführen ^^.

aber ich sage dir gleich: so syntaxzeugs wie if braucht fast gar keine zeit. und auch so befehle, die nur ein paar werte im speicher ändern (hideentity, rotateentity) brauchen fast gar keine zeit... da kannst du nen paar tausend von pro millisekunde ausführen. es gibt nur wenige kritische sachen. die wirst du aber auch ohne sone doofe tabelle recht leicht rausfinden. optimierungen im nanosekundenbereich bemerkst du ohnehin erst, wenn du sone tausenderloop bei jedem mainloopdurchlauf ausführst. fast alle rechenzeit wird beim anzeigen verballert..


auch ohne diese zeiten, reicht es vollkommen, sich an ein paar simple regeln zu halten:
1. nur wirklich notwendige dinge berechnen. ein schlaues if kann die rechenzeit manchmal halbieren ^^.
2. nur wirklich updatewerte dinge updaten. manche sachen können auch alle drei frames aktuallisiert werden, ohne dass es jemandem auffällt.
3. nicht zu viel zeugs berechnen, das eh keiner sieht. viele ungenauigkeiten wird ein spieler eh nie mitbekommen, da er ja nicht mit einem zollstock durch die spielwelt läuft Smile.
4. sehr rechenintensive sachen vorberechnen. vieles lässt sich nicht vollständig vorberechnen, aber dinge, die du eh jedesmal brauchst, kannst du vorberechnen. auch öfters mal was in ner bank speichern. readpixels und vertexbefehle sind manchmal echt krampfhaft langsam. einfach ein image oder ein modell in ne bank speichern und dann von dort auslesen.
MrKeks.net

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group