Python: Est il fait pour les jeux?
Salut,
Je suis en train d'apprendre Python, je le trouve agréable, souple, perfectionniste, <mettez l'adjectif qui vous convient le mieux ici :D >
C'est pourquoi j'ai voulu porgrammer mon prochain jeu en python. J'ai opté pour les bibliothèques suivantes:
- pySFML pour la partie graphique(je pense qu'elle utilise l'accélération hardware)
- le binding de box2d en python pour la physique
Seulement j'aimerai savoir si je pourrai arriver à avoir un FPS pas trop bas avec python, que le jeu soit fluide, etc ...
PS: je pose ces questions après avoir lu ce paragraphe sur le tuto de pygame:
Citation:
7. Hardware surfaces are more trouble than they're worth.
If you've been looking at the various flags you can use with pygame.display.set_mode(), you may have thought like this: "Hey, HWSURFACE! Well, I want that - who doesn't like hardware acceleration. Ooo... DOUBLEBUF; well, that sounds fast, I guess I want that too!". It's not your fault; we've been trained by years of 3-d gaming to believe that hardware acceleration is good, and software rendering is slow.
Unfortunately, hardware rendering comes with a long list of drawbacks:
* It only works on some platforms. Windows machines can usually get hardware surfaces if you ask for them. Most other platforms can't. Linux, for example, may be able to provide a hardware surface if X4 is installed, if DGA2 is working properly, and if the moons are aligned correctly. If a hardware surface is unavailable, sdl will silently give you a software surface instead.
* It only works fullscreen.
* It complicates per-pixel access. If you have a hardware surface, you need to Lock the surface before writing or reading individual pixel values on it. If you don't, Bad Things Happen. Then you need to quickly Unlock the surface again, before the OS gets all confused and starts to panic. Most of this process is automated for you in pygame, but it's something else to take into account.
* You lose the mouse pointer. If you specify HWSURFACE (and actually get it), your pointer will usually just vanish (or worse, hang around in a half-there, half-not flickery state). You'll need to create a sprite to act as a manual mouse pointer, and you'll need to worry about pointer acceleration and sensitivity. What a pain.
* It might be slower anyway. Many drivers are not accelerated for the types of drawing that we do, and since everything has to be blitted across the video bus (unless you can cram your source surface into video memory as well), it might end up being slower than software access anyway.
Hardware rendering has it's place. It works pretty reliably under Windows, so if you're not interested in cross-platform performance, it may provide you with a substantial speed increase. However, it comes at a cost - increased headaches and complexity. It's best to stick with good old reliable SWSURFACEs until you're sure you know what you're doing.
merci pour vos éventuelles réponses!