FAQ: cocos2d for iPhone: How fast is cocos2d (compared to other game engines)? Comments Feed" href="http://www.learn-cocos2d.com/knowledge-base/cocos2d-iphone-faq/feed/"/>

FAQ: cocos2d pour l'I-Phone : Comment est vite cocos2d (comparé à d'autres moteurs de jeu) ?

How fast is cocos2d (compared to other game engines)?

Fouillez mon cocos2d pour l'I-Phone FAQs & Tutorials

Notez s'il vous plaît que la recherche de blog au bon coin supérieur ne fouille pas mon FAQs et Classes de travaux dirigés.
 

  • Notez : ne partagez pas s'il vous plaît de liens de téléchargement directs vers les dossiers PDF, les liens de téléchargement expirent après les minutes de paire!

La question est trop générale pour être répondue. Je comprends la notion - si vous allez acheter une voiture vous voulez savoir comment vite elle peut aller. Mais comme avec les voitures, si vous conduisez seulement autour de dans la ville le topspeed ne vous a pas d'importance simplement. But as with cars, if you only drive around in the city the topspeed simply doesn't matter to you.

La plupart des programmeurs de jeu commençants conduisent juste autour de la ville pour l'avenir forseeable. Si le code sur lequel ils travaillent est lent, ce n'est presque jamais la faute de moteur de jeu. J'ai vu beaucoup de code de jeu de débutant ou semi-professionnel. Dans presque tous les cas il y avait seulement deux éditions qui ont provoqué des problèmes de performance sévères : le promoteur était surambitieux l'un ou l'autre (d'habitude couplé avec la non compréhension des restrictions de la plate-forme et des goulots) ou le code n'a pas été simplement écrit avec la vitesse en tête (d'habitude couplé avec un manque de comprendre le moteur de jeu, le langage de programmation et la plate-forme). I've seen a lot of beginner's or semi-professional's game code. In almost all cases there were only two issues that caused severe performance issues: the developer was either over-ambitious (usually coupled with not understanding the platform's limitations and bottlenecks) or the code was simply not written with speed in mind (usually coupled with a lack of understanding the game engine, programming language and platform).

Pour presque tous les promoteurs il n'a pas d'importance comment vite cocos2d est en comparaison avec autre moteur. La vraie question devrait être : que peut-il faire pour vous ? Combien de temps vous sauvera-t-il construisant votre jeu ? A-t-il des rédacteurs de jeu ? Est-il facile de construire des éléments d'Interface d'Utilisateur comme les boutons ? Le rend-il franc et facile à collaborer avec d'autres ? Et cetera... ceux-ci sont les questions auxquelles vous avez besoin de demander avant tout en évaluant un moteur de jeu. what can it do for you? How much time will it save you building your game? Does it have game editors? Is it easy to build User Interface elements like buttons? Does it make it straightforward and easy to collaborate with others? And so on ... these are the questions you need to ask first and foremost when evaluating a game engine.

En tout cas c'est un processus d'apprentissage pour nous tous. Si vous vous inquiétez au sujet de la performance, commencez simple. Je suis sûr que vous trouverez cocos2d assez vite d'abord et les programmeurs connus peuvent faire de magnifiques choses avec lui et ne sont pas limités du tout. Je crois que cela dit tout cela. I'm sure you'll find cocos2d fast enough to begin with, and experienced programmers can make wonderful things with it and aren't limited at all. I think that says it all.

Si vous voulez vraiment savoir ce que cocos2d peut accomplir dans les circonstances très spécifiques jettent un coup d'œil alors aux Épreuves de Performance cocos2d.

Leçon de téléchargement PDF

Exemples pour les surobjectifs ambitieux

- le dessin 100 + les grands Lutins avec multi-layered parallaxing les fonds plus les effets de particule et les objets de physique et l'attente à 60 fps
- l'utilisation de trop d'objets de jeu qui fait des boucles simples calculer des millions d'articles chaque cadre
- les effets shader imitants dans le logiciel en manipulant la mémoire de texture chaque cadre

Le PSP-3000 dans cette image est juste un rappel que vous ne pouvez pas vous attendre au même niveau de qualité visuelle et de complexité sur l'I-Phone que sur le PSP. Pas encore de toute façon. L'I-Phone 3GS peut venir près et l'iPad peut être supérieur en fait - mais la majorité de vos clients dirige encore l'I-Phone les 1ers et 2èmes appareils de génération! Essayez de garder vos attentes sur un Nintendo DS le niveau et ensuite quand vous recevez cette exécution bien, vous pouvez toujours penser au fait d'ajouter plus de bons visuels plus tard sur. The iPhone 3GS may come close and the iPad may actually be superior - but the majority of your customers is still running iPhone 1st and 2nd generation devices! Try to keep your expectations on a Nintendo DS level, and then when you get that performing well, you can always think about adding more visual goodies later on.

Les exemples pour le code non écrit avec la vitesse en tête

- chaque objet de jeu vérifie chaque autre objet de jeu si c'est plus proche que x à lui. Avec 1000 objets cela provoque 1 000 * 1 000 = un million de vérifications exécutées. La meilleure solution est de passer par la liste de tous les 1000 objets et de l'action du chèque de la conservation 999 objets, la boucle suivante vérifie seulement la conservation 998 objets, et cetera. Cela travaille parce que si A n'est pas près de B, donc B ne peut pas être près d'A, donc nous pouvons sauter ceux. Voir l'exemple pseudocodé dans l'image au-dessus. The better solution is to go through the list of all 1000 objects and doing the check on the remaining 999 objects, the next loop only checks the remaining 998 objects, and so on. This works because if A isn't close to B, then B can't be close to A, so we can skip those. See the pseudocode example in the image above.
- le dessin du grand nombre d'objets à l'extérieur de l'écran sans une vérification simple pour tirer seulement des objets qui ne sont pas au moins partiellement sur l'écran
- le mouvement de beaucoup d'objets seulement petites distances en utilisant cocos2d les Actions - cela provoque beaucoup de cycles alloc/dealloc et peut rabaisser la performance. Pour améliorer ce code déplacent les objets manuellement en ajoutant manuellement une vitesse chaque cadre aux positions de l'objet. Une façon assez efficace de faire cela doit utiliser un moteur de physique pour avoir le mouvement d'objets aux vitesses fixées dans une direction donnée. One rather effective way to do this is to use a physics engine to have objects move at fixed speeds in a given direction.

Commentaires (0)

2 Réponses à “FAQ : cocos2d pour l'I-Phone : Comment est vite cocos2d (comparé à d'autres moteurs de jeu) ?

How fast is cocos2d (compared to other game engines)?
  1. Max dit :

    Le fait d'éclairer le poste. Merci!

    Et, évidemment, j'ai quelques-uns la question :)

    - tout est relatif, mais pour le code commun est mieux d'utiliser NSString, NSArray (et payer le prix de créer de nouveaux objets) ou les variables ? Qui peut être les paramètres pour choisir entre chacun ?

    - Je me demande si le nouvel I-Phone 4.0′s la plus grande performance sera une édition. Les jeux qui dirigent doucement dans l'I-Phone de 1ers et 2èmes appareils de génération courront probablement trop vite ?

    • GamingHorror dit :

      Salut Max,

      je doute que les NSMutable* datasets soient des tueurs de performance. Je n'ai pas fait d'épreuves mais je suis assez sûr que si vous ne les changez pas du tout ils joueront probablement aussi bon que les non-variables. Maintenant, une fois vous *do* a besoin de changer les gammes ou les ficelles il est bon de les avoir variable pour que le truc soit fait attention pour vous en coulisses. D'autre part, si vous savez que vous créerez seulement les articles une fois, mais jamais réordonner, enlever ou ajouter que d'autres utilisent alors les non-variables. Pour moi c'est une affaire de cas d'utilisation, plutôt que performance. Now, once you *do* need to change the arrays or strings it’s good to have them mutable so that stuff is taken care for you behind the scenes. On the other hand, if you know that you’ll only be creating the items once but never re-order, remove or add others then use the non-mutable ones. For me it’s a matter of use case rather than performance.

      Les jeux ne courront pas plus vite sur de plus nouveaux appareils. cocos2d’s CCDirector s'en assure. Vous vous améliorez framerates évidemment, mais pas plus vite gameplay. Cela tient c'est vrai pour tous les moteurs de jeu modernes. You do get better framerates of course but not faster gameplay. That holds true for all modern game engines.

Quittez une Réponse

2 Réponses à “FAQ : cocos2d pour l'I-Phone : Comment est vite cocos2d (comparé à d'autres moteurs de jeu) ?

How fast is cocos2d (compared to other game engines)?
  1. Max dit :

    Le fait d'éclairer le poste. Merci!

    Et, évidemment, j'ai quelques-uns la question :)

    - tout est relatif, mais pour le code commun est mieux d'utiliser NSString, NSArray (et payer le prix de créer de nouveaux objets) ou les variables ? Qui peut être les paramètres pour choisir entre chacun ?

    - Je me demande si le nouvel I-Phone 4.0′s la plus grande performance sera une édition. Les jeux qui dirigent doucement dans l'I-Phone de 1ers et 2èmes appareils de génération courront probablement trop vite ?

    • GamingHorror dit :

      Salut Max,

      je doute que les NSMutable* datasets soient des tueurs de performance. Je n'ai pas fait d'épreuves mais je suis assez sûr que si vous ne les changez pas du tout ils joueront probablement aussi bon que les non-variables. Maintenant, une fois vous *do* a besoin de changer les gammes ou les ficelles il est bon de les avoir variable pour que le truc soit fait attention pour vous en coulisses. D'autre part, si vous savez que vous créerez seulement les articles une fois, mais jamais réordonner, enlever ou ajouter que d'autres utilisent alors les non-variables. Pour moi c'est une affaire de cas d'utilisation, plutôt que performance. Now, once you *do* need to change the arrays or strings it’s good to have them mutable so that stuff is taken care for you behind the scenes. On the other hand, if you know that you’ll only be creating the items once but never re-order, remove or add others then use the non-mutable ones. For me it’s a matter of use case rather than performance.

      Les jeux ne courront pas plus vite sur de plus nouveaux appareils. cocos2d’s CCDirector s'en assure. Vous vous améliorez framerates évidemment, mais pas plus vite gameplay. Cela tient c'est vrai pour tous les moteurs de jeu modernes. You do get better framerates of course but not faster gameplay. That holds true for all modern game engines.

Quittez une Réponse

prime wordpress thèmes