Python Rechtecke bewegen?

regex9  12.07.2022, 22:24
  • Wieso brauchst du so viele Objekte?
  • Die Objekte folgen nur der Maus, es werden nur die Koordinaten berechnet?
Leyonad 
Fragesteller
 12.07.2022, 23:16

Alle 400 Rechtecke haben eigene Werte (Farbe usw.), die geändert werden können. Deshalb dachte ich, dass es am besten wäre, wenn jedes ein Objekt ist, dem man Werte geben kann.

1 Antwort

400 Objekte sind Pipifax. Mache mal ein Profil der Main-Loop, dann siehst Du, wo im Programm die Zeit verbraten wird.

Profiling geht etwa so:

Statt

if __name__ == '__main__':

  myApp.mainloop() # Dieser Teil dauert zu lange?

schreibe

if __name__ == '__main__':

  from cProfile import Profile
  from pstats import Stats
  profiler = Profile()
  profiler.enable()       ###   P R O F I L E   S T A R T

  myApp.mainloop() # Dieser Teil wird gemessen.

  profiler.disable()      ###   P R O F I L E   S T O P !
  stats = Stats(profiler, stream=file('myProfile.txt', 'w'))
  stats.strip_dirs()
  stats.sort_stats('cumulative', 'time')
  stats.print_stats()
  stats.print_callers()
  stats.print_callees()

Nach dem Lauf liegt eine Datei myProfile.txt im Arbeitsverzeichnis, in der Du nach den teuren Methoden suchen kannst.