Quelle est la bonne façon d'écrire une boucle de jeu en Python?

Je suis en train d'écrire un python boucle de jeu, espérons-le, prend en compte les FPS. Quelle est la façon correcte d'appel de la boucle? Quelques-unes des possibilités que j'ai vu sont ci-dessous. J'essaie de ne pas utiliser une bibliothèque comme pygame.

1.

while True:
    mainLoop()

2.

def mainLoop():
    # run some game code
    time.sleep(Interval)
    mainLoop()

3.

 def mainLoop():
    # run some game code
    threading.timer(Interval, mainLoop).start()

4.
Utilisation sched.le planificateur?

La deuxième et la troisième option démarrer la même méthode à partir de lui-même, donc il y aura quelque chose qui grandit au fil du temps...
"Je ne veux pas utiliser un framework comme pygame" - Alors que voulez-vous utiliser? Tkinter? Je pense que vous devez nous dire ce que vous prévoyez de le faire avant que nous puissions vous donner des recommandations.
Aussi, 1 devrait être écrit comme while True: 🙂
Pas sûr de ce que je vais utiliser pour l'interface graphique encore. J'ai, pour l'essentiel, des centaines d'avions qui volent autour, et doivent mettre à jour leurs positions.

OriginalL'auteur jastr | 2013-04-30