Projet iPhone #1 – Day 3

Mardi j’ai passé pas mal de temps à essayer de comprendre comment optimiser correctement un jeu Unity pour l’iPhone.

  • Par défault le Unity tourne à 60fps sur l’iPhone et à tendance a se synchroniser avec le taux de rafraîchissement du LCD (16ms). On saute donc très vite par paliers : 60fps, 30fps, 20fps, 15fps…
  • Contrairement à ce qu’on pourrait penser la première limitation sur laquelle on bute n’est pas le nombre de polygones affichés mais le nombre de Draw Calls. Un objet avec un Material (texture) prend 1 draw call pour être affiché, une source lumineuse double les DC des objets qu’elle illumine… ca monte donc très vite.
  • L’iPhone tient bien la charge jusqu’à 22-26 DC. Après les fps s’effondrent très rapidement à 30 voir 20.
  • On peut grouper les objets semblables (et proche) pour limiter les DC, et cela soit dans 3DS soit via un script dans le Unity qui va combiner ces objets et leurs DC. Cette dernière solution n’est envisageable que pour des objets qui n’ont aucune action indépendante (mouvement, changement d’état…)
  • Une Skybox classique prends déjà 6 DC ! (1 par face)

Il faut donc être efficace et malin pour avoir un jeu qui tourne correctement !

Hier soir j’ai bataillé (dur) pour intégrer le premier modèle animé de Christophe et lancer les animations au bon moment (spawn, idle, delete). Avec ces 12 petits objets animés je reste à 30 fps.

[youtube]http://www.youtube.com/watch?v=tZGv5WH0UDo[/youtube]

Version « HD » dispo sur la page youtube.

6 réflexions au sujet de « Projet iPhone #1 – Day 3 »

  1. Tout ce que tu remarques sur les défauts, tu les découvres par toi même ou y’a un endroit ou les dév’ peuvent parler de tout ça, autour d’un forum/wiki/etc ?

    En tout cas c’est intéressant, continue !

    Et sinon, rien à voir, c’est pas possible d’intégrer directement la vidéo HD dans le blog ?

  2. Jye : Y’a pas mal de choses sur le forums officiel et le wiki communautaire. Le vrai défaut pour l’instant c’est que toutes ces informations tu les as par petites brides donc faut vraiment faire des tests pour ce rendre compte des choses par soit même et comprendre ce qui se passe (ce qui permet de trouver de nouveaux défaut que tu vas rechercher sur le forums et, à ce moment là, tu vas avoir de nouvelles pistes liées à ce que tu as trouvé).

    A ma connaissance YouTube a enlevé l’astuce qui permettait d’intégrer les vidéos en HD.

    Divide : Aucun intérêt. C’est un test technique que je voulais faire depuis bien longtemps. Ca à tout de même l’avantage de donner du relief au jeu donc on gardera peut être un version bridée de ce système (sur quelques degrés seulement)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *