2009-08-24 10 views
0

J'écris un petit jeu en OpenGL, où je représente des objets, des ennemis, des personnages, etc. avec une classe. Chaque classe enregistre des références à un ou plusieurs objets d'une classe Animation. Une classe d'animation contient des références à une ou plusieurs images, qui sont des textures que j'ai déjà chargées en utilisant OpenGL. Chaque fois que je fais la rotation, l'échelle, etc n'importe quel élément dans le jeu, je sauvegarde les données de telles transformations. En ce moment je recalcule (je n'utilise pas les transformations fournies par OpenGL) les coordonnées de chaque texture de chaque image au moment du dessin, sans les sauvegarder.Utilisation de la mémoire VS. Utilisation du processeur dans l'iphone

Pas comme j'essaie d'optimiser déjà, mais je me demande quelle est la meilleure approche lors de la programmation pour iPhone ... Il est préférable d'enregistrer dans vos objets toutes les informations dont vous avez besoin? ... ou il vaut mieux recalculer et laisser la plus grande partie du travail à la CPU.

+0

Alors, êtes-vous plus concerné par le fait que l'iPhone peut gérer ce type de fréquence de calcul sans problème, ou vous demandez-vous simplement si ce design est sain? Tous les deux? Ni? Ayant du mal à comprendre ce que vous voulez/besoin exactement ... –

+0

Aussi, le code fonctionne-t-il au moins? Si ça fonctionne déjà, je dirais, oui, vous optimisez en quelque sorte tôt. Travaillez sur le reste des choses et revisitez-le si vous trouvez que le jeu tourne lentement. –

+0

@Kyle Mon code fonctionne bien .. mais oui, c'est le premier, je me demande à propos de la capacité de l'iphone de faire des calculs avec fréquence à chaque trame ... –

Répondre

1

De combien de données parlez-vous, il semble que toute information de transformation ou de coordonnées va être trivialement petite par rapport à des choses comme les textures réelles.

Je suppose que vous regardez entre 8 et 64 octets par sprites, et au plus ~ 250 sprits? Ce sera probablement moins de 1 image d'animation sur sprite, et en fonction de la taille exacte de vos objets et des données supplémentaires, il ne prendra pas d'espace supplémentaire en raison de la granularité du système malloc. En d'autres termes, à moins que je devine mal vos données sont complètement dans le bruit et probablement indétectable, cachez définitivement les valeurs entre les trames.

+0

C'est à peu près ce que je voulais savoir, merci. –

Questions connexes