2008-09-25 15 views
1

J'ai remarqué que de nombreux jeux/applications (très courants sur les mobiles) regroupent de nombreuses images dans une bande d'images. Je me suis dit que les avantages sont de rendre le programme plus ordonné (système de fichiers) et de réduire le temps d'installation. Pendant l'exécution de l'application, toute la bande d'image est allouée et copiée de FS vers RAM. Au contraire, les images peuvent être stockées dans une archive d'images et décompactées pendant l'exécution à un certain nombre de structures d'image dans la RAM. D'après moi, l'approche de la bande d'image est moins efficace en raison de performances de mise en cache plus mauvaises et parce que même si l'algorithme de remplissage de rectangle optimal est utilisé, il y aura des espaces vides entre les images stockées dans la bande, provoquant une gaspillage de RAM.image archive bande d'image VS

Quels sont les avantages de l'utilisation d'une bande d'image par rapport à l'utilisation d'un fichier d'archive d'images?

Répondre

2

La mise en cache ne pose pas autant de problème que vous le pensez, si les images de la bande sont susceptibles d'apparaître en même temps, c'est-à-dire qu'elles font toutes partie d'une animation. En ce qui concerne les algorithmes d'empaquetage, la plupart des algorithmes génériques produisent des niveaux d'efficacité similaires. Pour obtenir une augmentation considérable de l'efficacité d'empaquetage, vous devez normalement écrire un algorithme optimisé pour l'ensemble de données concerné.

Comme c'est généralement le cas avec l'optimisation de tout type - mise en cache ou emballage - ne vous inquiétez pas jusqu'à ce que cela s'avère un problème, et vous devez alors aborder le problème avec une bonne compréhension du contexte.