Warum verwenden Entwickler von Konsolenspielen große Dateien zum Speichern von Spieldaten anstelle kleiner Dateien wie auf einem PC? Weniger Streams im Speicher? Müssen Sie mehrmals auf den Dateibaum zugreifen? Anderer Grund?
Warum verwenden Entwickler von Konsolenspielen große Dateien zum Speichern von Spieldaten anstelle kleiner Dateien wie auf einem PC? Weniger Streams im Speicher? Müssen Sie mehrmals auf den Dateibaum zugreifen? Anderer Grund?
Antworten:
Eine einzige große Datei zu haben, hat unabhängig von der Plattform einige Vorteile für die Leistung. Viele PC-Spiele verwenden auch große Dateien.
Sie können den Versatz jeder Datei in der großen Datei manuell zwischenspeichern, um zu vermeiden, dass Dateisystem-Verzeichniseinträge gelesen werden müssen (was mehrere Suchvorgänge pro geöffneter Datei nach sich ziehen kann, wenn Sie den Cache verpassen).
Sie haben die vollständige Kontrolle über die Reihenfolge der Daten in der Datei, sodass Sie sie so anordnen können, dass langsame Suchvorgänge auf ein Minimum reduziert werden.
Die Datenkomprimierung ist in der Regel für eine einzelne große Datei effektiver als für einzelne Dateien.
Beachten Sie, dass das Vermeiden von Suchvorgängen beim Beschleunigen der Ladezeiten sehr effektiv ist. Eine typische Festplatte hat möglicherweise eine Suchzeit von 10 ms und eine Übertragungsrate von 100 MB / s. Angenommen, Sie müssen 100 Shader-Dateien mit einer Gesamtgröße von 1 MB laden. Wenn Sie für jedes eine Suche durchführen müssen, dauert es eine Sekunde, bis alle geladen sind. Mit einem einzigen Suchvorgang sehen Sie 20 ms, um alle zu laden.
Natürlich sind nicht alle Konsolen mit Festplatten ausgestattet, und optische Laufwerke weisen eine noch schlechtere Suchleistung auf. Daher können diese Shader beim Suchen fünf oder mehr Sekunden benötigen, um eine DVD zu laden. Konsolen haben auch viel weniger Speicher für die Verwendung als Cache als ein PC, so dass sie dazu neigen, Daten häufiger zu laden.
Neben der sehr guten Antwort von Adam möchte ich auch auf einige andere wichtige Faktoren hinweisen:
Je weniger Dateien Sie haben, desto einfacher ist die Bereitstellung Ihrer Anwendung. Dies gilt insbesondere dann, wenn Sie Ihre Anwendung auf mobilen Plattformen wie iOS, Android oder Windows Phone bereitstellen möchten. Auch wenn Sie unter Windows Phone immer noch so viele Dateien haben können, wie Sie möchten, sind XAP-Dateien, die für die Bereitstellung verwendet werden, nur ein Zip-Archiv
Wenn Sie alle Ihre Assets in einer einzigen Datei haben, wird sichergestellt, dass sie alle "in Piece" heruntergeladen / gelesen werden . Viele Gamer entschuldigen sich mit einer spürbaren Verzögerung beim Herunterladen oder Entpacken von Assets vor dem Spiel. Sie sind jedoch nicht nachsichtig, solange sie während des Spiels mit selbst geringfügigen Pausen konfrontiert sind. Natürlich können Sie Ihre Ressourcen vorab im RAM zwischenspeichern, aber das Laden "in Stücken" ist für diesen Zweck immer noch einfacher als das Laden auf Dateibasis.