답변:
하나의 큰 파일이 있으면 플랫폼에 관계없이 성능에 몇 가지 이점이 있습니다. 많은 PC 게임도 큰 파일을 사용합니다.
파일 시스템 디렉토리 항목을 읽을 필요가 없도록 큰 파일 내에서 각 파일의 오프셋을 수동으로 캐시 할 수 있습니다 (캐시를 놓치면 열린 파일 당 여러 탐색이 필요할 수 있음).
파일 내에서 데이터 순서를 완전히 제어 할 수 있으므로 느린 탐색의 필요성을 최소화하도록 데이터를 정렬 할 수 있습니다.
데이터 압축은 일반적으로 개별 파일보다 하나의 큰 파일에서 더 효과적입니다.
탐색을 피하는 것은로드 시간을 단축시키는 데 매우 효과적입니다. 일반적인 하드 드라이브의 검색 시간은 10ms이고 전송 속도는 100MB / s입니다. 총 크기가 1MB 인 100 개의 셰이더 파일을로드해야한다고 가정합니다. 각각에 대해 검색을 수행해야하는 경우 모두로드하는 데 1 초가 걸립니다. 한 번의 탐색으로 20ms를보고 모든 것을로드합니다.
물론 모든 콘솔에 하드 드라이브가있는 것은 아니며 광학 드라이브의 탐색 성능이 더 나빠서 이러한 쉐이더를 찾는 데 DVD를로드하는 데 5 초 이상 걸릴 수 있습니다. 또한 콘솔은 PC보다 캐시로 사용할 메모리가 훨씬 적으므로 데이터를 더 자주로드하는 경향이 있습니다.
Adam이 제공 한 매우 좋은 답변 외에도 다른 중요한 요소를 지적하고 싶습니다.
파일이 적을수록 응용 프로그램 배포가 쉬워집니다. iOS, Android 또는 Windows Phone과 같은 모바일 플랫폼에 응용 프로그램을 배포하려는 경우 특히 그렇습니다. Windows Phone의 경우에도 배포에 사용되는 XAP 파일은 zip 아카이브이기 때문에 원하는만큼 파일을 계속 보유 할 수 있습니다.
하나의 파일에 모든 자산을 보유하면 자산이 모두 다운로드되거나 "in piece"로 읽 힙니다 . 많은 게이머는 게임을 시작하기 전에 애셋을 다운로드하거나 포장을 풀 때 눈에 띄게 지연되는 것을 용서하지만 게임 도중 미묘한 일시 중지에 직면하는 한 방종하지 않을 것입니다. 물론 리소스를 RAM에 미리 캐시 할 수 있지만 파일 단위로 리소스를로드하는 것보다 이러한 리소스를 "한 조각으로"로드하는 것이 여전히 쉽습니다.