if schleifen performance fresser ?
Übersicht

![]() |
BananaSalatBetreff: if schleifen performance fresser ? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi ich wollte fragen ob if schleifen performance beeinträchtigen können.
Ich hab jetzt schon ziemlich viele schleifen in meinem rpg z.b. für levelabfrage, für sprechen mit npc, etc etc bis jetzt läufs immernoch perfekt ohne einbusen bei performance also wollt ich mal so profosrisch fragen obs auswirken auf die performance hat ![]() |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also IF _Schleifen_ sind mir neu. IF Abfragen beeinträchtigen an sich die Perfomance nicht. Wobei das natürlich drauf ankommt, was abgefragt wird. Wenn im Vergleich 5 mal SQR vorkommt, könnte es ein bissl bremsen. ![]() |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
BananaSalat |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah cool, danke für die schnelle antwort ![]() Jops hab mich vertan meinte if abfragen ![]() |
||
![]() |
SpionAtomBetreff: Re: if schleifen performance fresser ? |
![]() Antworten mit Zitat ![]() |
---|---|---|
BananaSalat hat Folgendes geschrieben: ohne einbusen
Zwei sind auch besser ![]() Nein, einzelne If-Abfragen selbst sind ungefährlich. Unter Laufzeittechnischen Gründen machen sie sogar gar nichts aus. Wie schon angesprochen sind gewisse mathematische Funktionen sowie das Zeichnen von Text und Primitives bremsend, nach meiner Erfahrung. |
||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
eine if abfrage sind ca. 3-5 Takte im CPU
meiner hat 3ghz --> 3000mhz --> 3mio Khz --> 3 millarden hz --> 3millarden Takte pro sekunde --> 1 millarden If abfragen pro sekunde --> bei 100 FPS - 10 millionen IF abfragen pro schleifendurchlauf + paar sachen zusammen rechnen usw. 1 Millionen IF abfragen bei 100 FPS Pro Hauptschleife Du solltest auf jedenfall sie Staffeln und intelligent benutzten, weil andere sachen auch geschwindigkeit brauchen. und die Berechnung und abfrage externer Werte dauert auch. Sauber und gut Programmiert sollten 1 - 100 Mio If abfragen funktionieren (natürlich geschachtelt) |
||
between angels and insects |
![]() |
BananaSalat |
![]() Antworten mit Zitat ![]() |
---|---|---|
SpionAtom, XD .... ja war immerhin 2 uhr nachts ![]() Danke für die vielen antworten ![]() Ich hätte da noch eine kleine Frage die jetzt aber nicht auf den threadtitel zurück geht. Und zwar ist die laufgeschwindigkeit meines characters inrdwie immer fps abhängig, also sinds nur 30 fps läuft er langsam .. sinds aber 60 fps läuft er normal .... , so weit so gut ist klar bei 30 fps ist das voll normal das alles langsam läuft. Aber irndwie werd ich das gefühl nicht los das wenn da jetzt kein fps limiter auf 60 wär würde mein character durch die gegend flitzen wie speedy conzales. PS: ich hab gar keinen fps limiter eingebaut .... is bei blitz einer automatisch drinne ? |
||
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
jo er nennt sich vsync und ist der zusatz parameter vom befehl flip! Zu deinem Problem: Beschäftige dich mal mit Frameunabhänigrer programmierung! Das ist was du suchst!
MfG |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gibt 2 Möglcihkeiten
1. b=Createtimer(60) mit Waittimer(b) im zusammenspiel 2. du misst die zeit wie lange ein schleifen durchlauf braucht Code: [AUSKLAPPEN] t1=t2
t2=millisecs() SchleifenDurchlaufZeitInMillisecks=t2-t1 und multiplizierst alle Bewgungen damit. Dann ist alles immer geichschnell egal ob 5 FPS oder 500 FPS |
||
between angels and insects |
![]() |
BananaSalat |
![]() Antworten mit Zitat ![]() |
---|---|---|
So hab mich ein wenig umgeschaut und schlau gemacht ![]() und bin jetzt soweit das ich das ganze verstehe *freu* Hab das ganze ein wenig anders gemacht: Code: [AUSKLAPPEN] Repeat t1=millisecs() Flip t2=t1-millisecs() Until keyhit(1) Ist das so richtig ? Nun macht mein character speedy conzales auf jeden fall konkurenz und flitzt nur so durch das level, falls ich die bewegunswerte die ich vorher hatte nicht umänder. XD und komischer weise läuft er statt vorwärts jetzt rückwärts und anders rum. Hab ich irgendwas falsch gemacht oder ist das normal ? ![]() |
||
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
erstmal muss t2=t1-millisecs() t2=millisecs()-t1 heißen und zweitens ist der wert an sich egal! Du kannst den wert nun wenn es zu schnell ist durch jeden belibigen wert teilen, bis die geschwindigkeit deiner gewünschten entspricht! Wichtig ist das du nur teilst nicht subtrahierst oder addierst!
MfG |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
![]() |
BananaSalat |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ohje ![]() *brettvormkopf* Danke an alle für die Hilfe habs jetzt ordentlich hingekricht ![]() Finds cool das ihr so noobies wie mir blitz verständlicher macht ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group