N.C Posté(e) 14 février 2012 Share Posté(e) 14 février 2012 Bonjour, Je suis en train de travailler sur un moteur de jeux sur Android utilisant le NDK. J'ai développer un moteur graphique 2D basé sur OpenGL ES 1.x. Pour le moment mon moteur graphique peut afficher des rectangle de couleur et du texture je n'y ai pas encore ajouter la gestion des sprites. Cependant j'ai de gros problème de fluidité. En créant une scène assez basique qui comporte un certain nombre de rectangles (une vingtaine) de plus ou moins grande taille et 4 grand carré au qui effectue une animation de rotation. L'application tourne très bien sur mon Galaxy S (ICS) avec 60 FPS tandis que sur ma tablette (Asus tranformer) j'approche les 44 FPS (peu stable). En faisant quelque test je me suis rendu compte de deux choses: - La tablette n'aime pas du tout la génération de gros rectangle (j'ai fait un générateur de particule et quand je génère de petite particule la tablette en gere plus 600 sans broncher mais si mais particule comment a avoir une taille consequent au bout de 50 je suis déjà à une petite trentaine de FPS) - La fonction qui met le plus de temps est la fonction glSwapBuffers qui prend constamment 1000 microsecondes sur le Galaxy mais prend jusqu'à 20 000 microsecondes (minimum 100uS) sur la tablette. En sachant que je me suis basé pour mes test sur du 60 FPS, je n'ai que 16 666 microseconde par frame. Voilà je n'ai absolument aucune idée du pourquoi. Je trouve ca assez bizarre d'avoir si peu sur la tablette qui est censé avoir un bon processeur alors que sur le Galaxy S il n'y vraiment aucun problème pour afficher de grand ou de petit rectangle. J'ai desactivé pas mal d'option openGL comme le GL_DITHER, le multi sampling le depth test, ... Si quelqu'un à une idée sur le sujet je suis preneur :P N'hésitez pas si vous avez besoin de renseignements supplémentaires. Merci. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.