Pourquoi les développeurs de jeux sur console utilisent-ils de gros fichiers pour stocker des données de jeu au lieu de petits fichiers comme sur PC? Moins de flux en mémoire? Besoin d'accéder plusieurs fois à l'arborescence des fichiers? Autre raison?
optimization
console
file
Triang3l
la source
la source
Réponses:
Avoir un seul gros fichier présente quelques avantages pour les performances, quelle que soit la plate-forme. De nombreux jeux PC utilisent également de gros fichiers.
Vous pouvez mettre en cache manuellement le décalage de chaque fichier dans le gros fichier, pour éviter d'avoir à lire les entrées du répertoire du système de fichiers (ce qui peut impliquer plusieurs recherches par fichier ouvert si vous manquez le cache).
Vous obtenez un contrôle total de l'ordre des données dans le fichier, vous pouvez donc l'organiser pour minimiser le besoin de recherches lentes.
La compression des données est généralement plus efficace sur un seul gros fichier que sur des fichiers individuels.
Notez qu'éviter les recherches est très efficace pour accélérer les temps de chargement. Un disque dur typique peut avoir un temps de recherche de 10 ms et un taux de transfert de 100 Mo / s. Disons que vous devez charger 100 fichiers de shader avec une taille totale de 1 Mo. Si vous devez faire une recherche pour chacun d'eux, il faudrait une seconde pour les charger tous. Avec une seule recherche, vous regardez à 20 ms pour tous les charger.
Bien sûr, toutes les consoles n'ont pas de disques durs et les lecteurs optiques ont des performances de recherche encore pires, de sorte que ces shaders peuvent prendre 5 secondes ou plus pour charger un DVD lors de la recherche. Les consoles ont également beaucoup moins de mémoire à utiliser comme cache qu'un PC, elles ont donc tendance à charger les données plus souvent.
la source
Outre la très bonne réponse donnée par Adam, je voudrais également souligner quelques autres facteurs importants:
Moins vous avez de fichiers, plus le déploiement de votre application est facile. Cela est particulièrement vrai si vous souhaitez déployer votre application sur des plateformes mobiles, comme iOS, Android ou Windows Phone. Même si dans le cas de Windows Phone, vous pouvez toujours avoir autant de fichiers que vous le souhaitez, car les fichiers XAP, utilisés pour le déploiement, ne sont qu'une archive zip, c'est
Le fait d'avoir tous vos actifs dans un seul fichier garantit qu'ils sont tous téléchargés / lus "en morceaux" . De nombreux joueurs vous excuseront un délai notable pour télécharger des éléments ou les déballer avant le début du jeu, mais ils ne seront pas indulgents tant qu'ils feront face à des pauses même subtiles pendant le jeu. Bien sûr, vous pouvez pré-mettre en cache vos ressources dans la RAM, mais les charger "en morceaux" est toujours plus facile à cet effet que de les charger par fichier.
la source