Cuando se trata del desarrollo de juegos móviles en iOS y Android NDK, algunos desarrolladores escriben sus propios contenedores C ++, mientras que otros afirman que STL es más que adecuado para el desarrollo de juegos móviles (por ejemplo, el autor de iPhone 3D Programming usa STL en lugar de Objective- C en sus ejemplos. Su defensa es que STL no es más lento que Objective-C).
Luego también hay desarrolladores móviles que abandonan C ++ por completo y desarrollan juegos por completo (o principalmente) en el lenguaje C (C89 / C90).
¿Cuáles son los beneficios y las desventajas de cada enfoque?
c++
android
ios
optimization
mx2
fuente
fuente
Respuestas:
Déjame decirte una cosa primero. C ++ es más rápido que las llamadas Objective-C. Objective-C utiliza sistemas de paso de mensajes, por lo que tendrá una sobrecarga de tiempo de ejecución en comparación con C ++. Solo eche un vistazo a algunas de las comparaciones aquí .
Al llegar al desarrollo general de "aplicaciones" de iOS, tiene sentido utilizar las funciones integradas de Objective-C ya que el rendimiento no puede ser un criterio demasiado importante en cierta medida. Pero en el desarrollo del juego, debemos considerar estos resultados.
Cuando estaba trabajando en mi proyecto anterior (Robokill), optimizamos la mayor parte del código donde sea necesario con llamadas simples (convertimos nuestra clase de partículas Objective-C a una clase C ++). O incluso puede usar las funciones de tiempo de ejecución Objective-C para llamadas directas en C.
En cuanto a su pregunta, aquí está mi respuesta: sí, STL está bien optimizado para su propósito . Aunque el código de implementación no es muy legible, es interesante verificar la implementación una vez.
Sin embargo, podemos optimizar el código de Objecive-C hasta cierto punto, almacenando previamente los punteros de la función y haciendo llamadas con el tiempo de ejecución de Objective-C.
¡Espero que esto ayude!
fuente