En ce qui concerne le développement de jeux mobiles sur iOS et Android NDK, certains développeurs écrivent leurs propres conteneurs C ++, tandis que d'autres affirment que STL est plus que suffisant pour le développement de jeux mobiles (par exemple, l'auteur de la programmation iPhone iPhone utilise STL plutôt que Objective- C dans ses exemples. Sa défense est que STL n'est pas plus lent que Objective-C).
Ensuite, il y a aussi des développeurs mobiles qui abandonnent complètement le C ++ et développent des jeux entièrement (ou principalement) en langage C (C89 / C90).
Quels sont les avantages et les inconvénients de chaque approche?
Réponses:
Permettez-moi de vous dire une chose en premier. C ++ est plus rapide que les appels Objective-C. Objective-C utilise des systèmes de transmission de messages, il aura donc une surcharge d'exécution par rapport à C ++. Jetez un œil à certaines des comparaisons ici .
En ce qui concerne le développement général des «applications» sur iOS, il est logique d'utiliser les fonctions intégrées d'Objective-C car les performances ne peuvent pas être un grand nombre de critères dans une certaine mesure. Mais dans le développement de jeux, nous devons considérer ces résultats.
Lorsque je travaillais sur mon projet précédent (Robokill), nous avons optimisé la plupart du code là où cela était nécessaire avec des appels plain-C (nous avons converti notre classe de particules Objective-C en classe C ++). Ou vous pouvez même utiliser les fonctions d'exécution Objective-C pour les appels C directs.
Pour en venir à votre question, voici ma réponse: oui, STL est bien optimisé pour son objectif . Même si le code d'implémentation n'est pas très lisible, il est intéressant de vérifier une fois l'implémentation.
Cependant, nous pouvons optimiser le code Objecive-C dans une certaine mesure, en mettant en cache les pointeurs de fonction et en effectuant des appels avec le runtime Objective-C.
J'espère que cela t'aides!
la source