Profiling bei einem Computerspiel
Verfasst: Mittwoch 29. September 2010, 11:18
Hallo zusammen,
ich schreibe gerade ein kleines Jump and Run Spiel mitHilfe von Python und Pygame.
Da das alles allerdings ziemlich hardwarehungrig (wie ich finde) wollte ich meinen bisherigen Code mal durch einen Profiler jagen um die Flaschenhälse ausfindig zu machen.
Allerdings stellt sich für mich die Frage wie ich beim "profilen" am besten vorgehe.
Ist es richtig, das ich immer bessere Ergebnisse bekomme, je länger ich spiele? So rutscht das ganze Zeugs was nur beim Programmstart 1x durchgeführt werden muss in der "Gewichtung" weiter nach hinten und ich bekomme genauere durchschnittswerte bei den Zeitangaben.
Oder hab ich da einen grundsätzlichen Denkfehler?
Wie geht man am besten vor beim "profilen" von Programmen die nicht einfach von oben nach unten durchlaufen?
Hier mein erster Versuch mit dem "profile"-modul und gprof2dot:
(ca. 10 Sekunden Spielzeit)
Link zum profiling graph
Was ich daraus schließe ist, das das rendern am meisten Zeit verbraucht, insbesondere die "renderMapLayer" Methode.
Gruß
ich schreibe gerade ein kleines Jump and Run Spiel mitHilfe von Python und Pygame.
Da das alles allerdings ziemlich hardwarehungrig (wie ich finde) wollte ich meinen bisherigen Code mal durch einen Profiler jagen um die Flaschenhälse ausfindig zu machen.
Allerdings stellt sich für mich die Frage wie ich beim "profilen" am besten vorgehe.
Ist es richtig, das ich immer bessere Ergebnisse bekomme, je länger ich spiele? So rutscht das ganze Zeugs was nur beim Programmstart 1x durchgeführt werden muss in der "Gewichtung" weiter nach hinten und ich bekomme genauere durchschnittswerte bei den Zeitangaben.
Oder hab ich da einen grundsätzlichen Denkfehler?
Wie geht man am besten vor beim "profilen" von Programmen die nicht einfach von oben nach unten durchlaufen?
Hier mein erster Versuch mit dem "profile"-modul und gprof2dot:
(ca. 10 Sekunden Spielzeit)
Link zum profiling graph
Was ich daraus schließe ist, das das rendern am meisten Zeit verbraucht, insbesondere die "renderMapLayer" Methode.
Gruß