Boucle de jeu et GDI sur .NET CF
Question
Bonjour, je veux écrire un jeu avec une forme de jeu principale et beaucoup d’autres formes normales. Quelle est la meilleure façon de gérer le cycle de mise à jour de la peinture dans ce cas?
Faut-il que la boucle de peinture du jeu soit annulée? ou dois-je faire un événement application.do events () dans la méthode principale?
Veuillez me guider à ce sujet. Je suis nouveau dans le monde de Windows Forms
La solution
Votre fil logique doit être séparé du formulaire afin que vous n'ayez pas besoin de DoEvents (). Si vous utilisez GDI +, vous devez alors forcer Update () sur une boucle. Windows Forms ne double pas très bien la mémoire tampon. Par conséquent, en fonction de la complexité de vos graphiques, le scintillement peut présenter quelques difficultés.
Je vous suggère d'utiliser DirectX géré bibliothèque . C’est beaucoup à apprendre, mais vous donne tout ce dont vous avez besoin.
MODIFIER: Je lisais récemment un article sur WPF, qui semble être une bien meilleure plate-forme pour les jeux simples à moyennement complexes, car il fournit une API de niveau supérieur au Bibliothèque gérée DirectX . Cependant, il a probablement des limites de performances et de flexibilité pour les jeux plus complexes.
Autres conseils
Le corps de la question ne mentionne pas Compact Framework, mais simplement Winforms. C’est à peu près la réponse acceptée pour Winforms de Tom Miller (Xna Game Studio et Managed DirectX de Microsoft):
@Rich B: la boucle de jeu est indépendante de la manière dont le rendu est effectué (DirectX, MDX, GDI +)