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 para I-Phone: ¿A qué velocidad es cocos2d (comparado con otros motores animosos)?

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

Busque mi cocos2d preguntas frecuentes de I-Phone & Seminarios

Por favor note que la búsqueda de blog en la esquina correcta superior no busca mis preguntas frecuentes y Seminarios.
 

  • Note: ¡por favor no comparta relaciones de descarga directas a archivos PDF, las relaciones de descarga expiran después de unos minutos de pareja!

La pregunta es demasiado general para ser contestada. Entiendo la noción - si usted va a comprar un coche usted quiere saber a que velocidad puede ir. Pero como con coches, si usted sólo va en coche alrededor en la ciudad el topspeed simplemente no importa a usted. But as with cars, if you only drive around in the city the topspeed simply doesn't matter to you.

La mayor parte de programadores animosos que comienzan van en coche sólo alrededor de la ciudad para el futuro previsible. Si el código ellos siguen trabajando es lento, casi nunca es la falta del motor animoso. He visto mucho código animoso del principiante o semiprofesional. En casi todos los casos había sólo dos cuestiones que causaron cuestiones de rendimiento severas: el revelador era cualquiera sobreambicioso (por lo general conectado con no entender limitaciones de la plataforma y cuellos de botella) o el código no fue simplemente escrito con la velocidad en mente (por lo general conectado con una carencia de entender el motor animoso, lenguaje de programación y plataforma). 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).

Para casi todos los reveladores no importa a que velocidad cocos2d es en comparación con algún otro motor. La verdadera pregunta debería ser: ¿qué puede esto hacer para usted? ¿Cuánto tiempo le salvará esto construyendo su juego? ¿Tiene esto redactores animosos? ¿Es fácil construir elementos de Interfaz de Usuario como botones? ¿Lo hace esto franco y fácil a colaborar con otros? Etcétera... éstos son las preguntas que usted tiene que preguntar antes que nada evaluando un motor animoso. 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 cualquier caso es un proceso de aprendizaje para todos nosotros. Si usted se preocupa del rendimiento, comience simple. Estoy seguro que usted encontrará cocos2d bastante rápido en primer lugar, y los programadores experimentados pueden hacer maravillosas cosas con él y no son limitados en absoluto. Creo que esto dice todo esto. 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 usted realmente quiere saber lo que cocos2d puede conseguir en circunstancias muy específicas entonces echan un vistazo a las Pruebas de Rendimiento cocos2d.

Lección de descarga PDF

Ejemplos para objetivos sobreambiciosos

- el dibujo 100 + Elfos grandes con fondos parallaxing multiacodados más efectos de partícula y objetos de física y espera de 60 fps
- la utilización de demasiados objetos animosos que hace que lazos simples calculen millones de artículos cada marco
- emulación shader efectos en software manipulando memoria de textura cada marco

El PSP-3000 a esta imagen es sólo un recordatorio que usted no puede esperar el mismo nivel de calidad visual y complejidad en el I-Phone que en el PSP. Todavía no de todos modos. ¡El I-Phone 3GS puede venir cerca y el iPad realmente puede ser superior - pero la mayoría de sus clientes todavía dirige el I-Phone 1ros y 2dos dispositivos de generación! Trate de guardar sus expectativas en un Nintendo DS nivel, y luego cuando usted consigue aquella realización bien, usted siempre puede pensar en la adición de más golosinas visuales más tarde. 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.

Ejemplos para código no escrito con velocidad en mente

- cada objeto animoso comprueba cada otro objeto animoso si es más cercano que x a sí. Con 1000 objetos esto causa 1 000 * 1 000 = un millón de controles realizado. La mejor solución es pasar por la lista de 1000 objetos y hacer el control en los 999 objetos restantes, el siguiente lazo sólo comprueba los 998 objetos restantes, etcétera. Esto trabaja porque si A no está cerca de B, entonces B no puede estar cerca de A, entonces podemos saltar a aquellos. Ver el ejemplo de pseudocódigo a la imagen encima. 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.
- el dibujo del gran número de objetos fuera de la pantalla sin algún control simple sólo para dibujar objetos que no son al menos parcialmente en la pantalla
- movimiento de muchos objetos sólo pequeñas distancias usando cocos2d Acciones - esto causa muchos ciclos alloc/dealloc y puede arrastrar el rendimiento. Para mejorar este código mueven los objetos a mano añadiendo a mano una velocidad cada marco a las posiciones del objeto. Una manera bastante eficaz de hacer esto debe usar un motor de física para tener el movimiento de objetos con velocidades fijas en una dirección dada. One rather effective way to do this is to use a physics engine to have objects move at fixed speeds in a given direction.

Comentarios (0)

2 Respuestas a “preguntas frecuentes: cocos2d para I-Phone: ¿A qué velocidad es cocos2d (comparado con otros motores animosos)?

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

    Ilustración de correo. Gracias!

    Y, por supuesto, tengo unos cuantos pregunta :)

    - ¿todo es relativo, pero para el código común es mejor para usar NSString, NSArray (y pagar el coste de crear nuevos objetos) o los mudables? ¿Cuál puede ser los parámetros para elegir entre cada uno?

    - Me pregunto si el nuevo I-Phone 4.0′s mayor rendimiento será una cuestión. ¿Los juegos que dirigen suavemente en el I-Phone 1ros y 2dos dispositivos de generación correrán probablemente demasiado rápido?

    • GamingHorror dice:

      Hola Max,

      dudo que los NSMutable* datasets sean asesinos de rendimiento. No he hecho ninguna prueba pero estoy bastante seguro que si usted no los cambia en absoluto ellos funcionarán probablemente tan bueno como los no mudables. Ahora, una vez usted *do* tiene que cambiar las series o cuerdas está bien tenerlos mudable de modo que la materia sea tenida cuidado para usted entre bastidores. Por otra parte, si usted sabe que sólo creará los artículos una vez, pero nunca pedir de nuevo, quitar o añadir que los otros entonces usan los no mudables. Para mí es un asunto de caso de uso, más bien que rendimiento. 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.

      Los juegos no correrán más rápido en dispositivos más nuevos. el cocos2d's CCDirector se asegura de esto. Usted mejora framerates por supuesto, pero no más rápido gameplay. Esto se mantiene para todos los motores animosos modernos. You do get better framerates of course but not faster gameplay. That holds true for all modern game engines.

Deje una Respuesta

2 Respuestas a “preguntas frecuentes: cocos2d para I-Phone: ¿A qué velocidad es cocos2d (comparado con otros motores animosos)?

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

    Ilustración de correo. Gracias!

    Y, por supuesto, tengo unos cuantos pregunta :)

    - ¿todo es relativo, pero para el código común es mejor para usar NSString, NSArray (y pagar el coste de crear nuevos objetos) o los mudables? ¿Cuál puede ser los parámetros para elegir entre cada uno?

    - Me pregunto si el nuevo I-Phone 4.0′s mayor rendimiento será una cuestión. ¿Los juegos que dirigen suavemente en el I-Phone 1ros y 2dos dispositivos de generación correrán probablemente demasiado rápido?

    • GamingHorror dice:

      Hola Max,

      dudo que los NSMutable* datasets sean asesinos de rendimiento. No he hecho ninguna prueba pero estoy bastante seguro que si usted no los cambia en absoluto ellos funcionarán probablemente tan bueno como los no mudables. Ahora, una vez usted *do* tiene que cambiar las series o cuerdas está bien tenerlos mudable de modo que la materia sea tenida cuidado para usted entre bastidores. Por otra parte, si usted sabe que sólo creará los artículos una vez, pero nunca pedir de nuevo, quitar o añadir que los otros entonces usan los no mudables. Para mí es un asunto de caso de uso, más bien que rendimiento. 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.

      Los juegos no correrán más rápido en dispositivos más nuevos. el cocos2d's CCDirector se asegura de esto. Usted mejora framerates por supuesto, pero no más rápido gameplay. Esto se mantiene para todos los motores animosos modernos. You do get better framerates of course but not faster gameplay. That holds true for all modern game engines.

Deje una Respuesta

premio wordpress temas