Pour votre première question, oui, les performances de PB peuvent être parfaitement adaptées à un jeu en temps réel. Plusieurs jeux ont été écrits en utilisant PB. Par exemple, MV3D utilise Twisted et Python-OGRE pour présenter une simulation physique partagée.
Pour votre deuxième question, PB s'exécute sur un transport orienté flux. Il pourrait fonctionner sur "UDP fiable" en utilisant quelque chose comme le module PTCP qui vient avec vertex.
Cependant, vous devez être conscient que "UDP fiable" sera généralement beaucoup moins performant que l'ancien TCP. Les routeurs tout le long d'Internet comprennent TCP et peuvent l'optimiser en utilisant cette compréhension. Si vous implémentez la fiabilité sur le dessus de l'UDP, par nécessité, vous aurez besoin de mettre en œuvre quelque chose fonctionnellement équivalent à TCP, et plusieurs facteurs vous pénaliser:
- votre implémentation de la fiabilité doit fonctionner dans votre application, pas dans le noyau du système d'exploitation.
- votre implémentation de TCP doit faire tous les mêmes choses que TCP, sinon vous devrez faire face à des bogues mystérieux dans des environnements réseau imprévus.
- routeurs le long du chemin ne peut pas optimiser pour votre couche de fiabilité personnalisée
Que peut faire UDP « plus vite » dans certaines circonstances est jeter une grande partie du travail que TCP ne, en étant peu fiables. Si votre couche de messagerie n'est pas fiable, alors vous devez savoir que les données qu'elle délivre peuvent être arbitrairement rejetées.
Habituellement, les données qui conviennent à la transmission sur UDP dans un jeu sont des données de mouvement. Lorsque votre position change, vous pouvez envoyer un paquet UDP et il peut être défaussé car le jeu se soucie uniquement de votre position la plus récente - une fois qu'une mise à jour a été reçue, toutes les positions précédentes ne sont pas pertinentes. Tant de jeux envoient des données de mouvement sur un canal UDP (non fiable), puis tous les messages de contrôle sur un canal TCP plus fiable.Cependant, la réponse de Jean-Paul à propos de l'optimisation est une bonne indication du moment où vous pourriez envisager de mettre en œuvre cette optimisation.