Thema: Performancebedenken? Mo Dez 22, 2008 11:50 pm
Ihr kenn das sicher: Das Spiel laggt manchmal...
Als mir das mal passiert ist, hab ich lust bekommen mal zu gucken, was viel performance verschwendet und was nicht.
Wusstet ihr, dass "Random(50)+50" ca. 2,59 mal so schnell ist wie "RandomX(50,100)"? Übrigens, Kommentare würd ich lieber drinlassen, denn das Kommentar "//Ich bin ein Kommentar" ist nur 0,00282 mal langsamer als wenn man es weglassen würde.
Weitere Beispiele folgen, wenn ich zeit hab.
trike994 Konteradmiral
Alter : 30 Anmeldedatum : 10.12.08
Thema: Re: Performancebedenken? Di Dez 23, 2008 12:14 am
ey, echt intressant, besonders bei stippeln(weil die fressen die leistung wie die sfts) aber: woher weißt du das
Dragonclonk Kadett
Alter : 31 Ort : Lübeck Anmeldedatum : 11.12.08
Thema: Re: Performancebedenken? Di Dez 23, 2008 12:16 am
ER ist einer von IHNEN
Elfangor General
Alter : 32 Ort : Mainz Anmeldedatum : 26.06.08
Thema: Re: Performancebedenken? Di Dez 23, 2008 12:17 am
Zu dem Thema fällt mir nur ein das es immer einen optimalen Weg gibt der das gewünschte Ergebnis mit möglichst wenig Zeilen und möglichst hoher Geschwindigkeit ausführt.
Kann es sein das die Werte die du angibst von deiner Rechenleistung ausgehen? Es hat doch wohl etwas damit zu tun wie schnell dein Rechner die Daten verarbeitet oder? In diesem Fall wie schnell der Parser das Kommentar als solches abstempelt.
trike994 Konteradmiral
Alter : 30 Anmeldedatum : 10.12.08
Thema: Re: Performancebedenken? Di Dez 23, 2008 12:25 am
ääh, nein, wievielmal so schnell sein pc das ausführt is bei jedem pc gleich, oder? müsste eig. zml. genau so sein @dragonclonk: manchmal zumindest und bei stippeln is es ebn das extremste
Höfi SFT
Alter : 29 Anmeldedatum : 20.10.08
Thema: Re: Performancebedenken? Di Dez 23, 2008 11:28 am
Also ich hab jeden befehl ca. ne millionen mal ausgeführt(bei den Kommentaren mehr), hab dann die zeit gemessen und ausgerechnet wieviel ein befehl brauch. Dann brauch ich nur noch befehl x durch befehl y teilen.
trike994 Konteradmiral
Alter : 30 Anmeldedatum : 10.12.08
Thema: Re: Performancebedenken? Di Dez 23, 2008 4:52 pm
aha, gute idee
Rouby Major
Alter : 36 Ort : Bremen Anmeldedatum : 02.09.09
Thema: Re: Performancebedenken? Mi Sep 02, 2009 4:41 pm
Zitat :
global func RandomX(int iStart, int iEnd) { var iSwap; // Werte vertauscht: trotzdem richtig rechnen if(iStart > iEnd) { iSwap=iStart; iStart=iEnd; iEnd=iSwap; } // Zufälligen Faktor bestimmen (Differenz plus die null) und iStart aufrechnen return(Random(iEnd-iStart+1)+iStart); }
Wenn man sich die Implementierung von RandomX genauer ansieht, erkennt man schnell, dass es schneller sein muss als Random() (mit dem gleichen Effekt)... außer natürlich es wäre ein zeitgemäßer Compiler zwischengeschaltet, der würde das nämlich für uns gleich erleichtern ;-)
In Höfi's Beispiel wäre das also Random(50)+50 Random-Berechnungsdauer + 1 VS Random(100-50+1)+50) Random-Berechnungsdauer + 3 + if-Berechnungsdauer (und evtl. + Tausch-Berechnungsdauer)
Simple Rechnung oder?
PS:
Zitat :
ääh, nein, wievielmal so schnell sein pc das ausführt is bei jedem pc gleich, oder? müsste eig. zml. genau so sein
Naja so einfach ist das nicht. Kommt schon auf den PC und noch einges mehr an. Jenachdem wie ausgelastet der PC ist, dauert das teilweise schon länger... weil Windows (oder jedes andere Betriebssystem) die Rechenleistung ja auf die ganzen laufenden Programme aufteilt... wenn jemand im Hintergrund noch PI weiterberechnet, wärend Clonk läuft dauerts unter Umständen schon etwas länger ;-) Deswegen werden Komplexitäts- oder Laufzeitfragen auch nicht in Zeit sondern in Zeiteinheiten gemessen...
Gast Gast
Thema: Re: Performancebedenken? Do Okt 15, 2009 3:29 pm
Finde ich sehr interessant, aber was ist denn nun schneller? Random oder RandomX ?
der kleine boss Vizeadmiral
Alter : 28 Ort : In einem gaaaaanz kleinen Kaff in Austria Anmeldedatum : 21.03.09
Thema: Re: Performancebedenken? Sa Jan 09, 2010 3:07 pm
ich würd auch interresant finden was schneller is wenn man objekte in die Objects.txt mact oder im Script
Elfangor General
Alter : 32 Ort : Mainz Anmeldedatum : 26.06.08
Thema: Re: Performancebedenken? Sa Jan 09, 2010 4:23 pm
Ich glaube nicht das das wichtig ist. Aber wenn du mich fragst, so ist das Objects.txt viel viel schneller. Einfach weil du ewigenkeiten brauchst um ein großes Szenario mit ausreichend Objekten zu bestücken wo die Zahl schon mal auf die Tausend zu geht. Du musst die IDs rausfinden und dann genau die richtigen Koordinaten aufschreiben. Das dauert länger als jede Ladezeit die dafür je verwendet wird.
Zu Lag führt es meist nur wenn zu viel Material bewegt wird (Wasser oder Flysand o.ä.) und wenn zu viele Funktionen oder Dinge sich gleichzeitig bewegen. Auch bei einer großen Objektanzahl die berechnet werden muss sinken die FramesPerSecond (FPS).
Lag ensteht also durch überlastete Rechner. Lösung: Grafiken oder am besten erstmal die Auflösung runterschrauben.