문제

나는 각각의 다른 해상도로 맵을 놓았으며, 각각의 크기의 256x256 각각 15k/60k/240k 사진으로 구성되어 있으며, 맵을 표시 할 수있는 .NET Compact Framework 응용 프로그램이 있습니다. 그러나 300k 파일을 SD 카드에 약 35-60 시간 (15k 만 복사하고 ~ 2 ~ 2.5 시간이 걸렸습니다)에 300k 파일을 복사하는 데 많은 시간이 걸리며 Fat16 파일 시스템을 망칠 까봐 두려워합니다 (하드웨어는 지원하지 않습니다. FAT32, 따라서 FAT16을 FAT32로 전환 할 수 없거나 복사 한 후 모든 것이 매우 느리게 작동합니다.

모든 사진은 다음과 같이 저장됩니다 : /mapdata/res {resolution }/x {x_coord }/y_coord }.png

임베드 가능한 DB가 도움이 될 수 있습니까? 아니면 모든 y*.png 아카이브를 사용하여 /storage/res1/x12.zip과 같은 zip에 이미지를 포장해야합니까? 아니면이 모든 그림으로 ISO IMAGE를 만들고 ISO를 SD 바이트-바이트에 복사해야합니까?

도움이 되었습니까?

해결책

FAT16은 65,535 개의 클러스터로 제한되며 파일 당 최소 단일 클러스터가 필요하므로 플랫 파일 만 사용합니다.

나는 당신의지도 타일이 읽기 전용이라고 가정하므로 제어 할 타일에 대한 사용자 정의 파일 형식을 만드는 경로를 취할 것입니다 (또한 좀 더 많이 분해해야 할 추가 이점이있을 수 있습니다. 그것은 잘못된 종류의 손에 속합니다).

아마도 라인을 따라 무언가 :

  • 어떤 종류의 헤더이므로 파일이라는 것을 알고 있습니다.
  • "Zero"Zoom 레벨의 파일 시작부터 타일로 오프셋을 포함하는 튜플 및 바이트의 길이
  • 오프셋 용 4 개의 튜플 및 줌 레벨 "1"의 타일의 길이
  • ...
  • 4^(n) 줌 레벨 "n"의 타일의 오프셋 및 길이에 대한 튜플
  • 실제 타일 데이터.

주어진 타일에 대한 오프셋을 찾아보고 스트림의 끝을보고 할 때 스트림을 "올바른 일"으로 재정의하는 것은 비교적 가벼운 일입니다. 인코딩중인 "타일 없음"사진에 동일한 오프셋을 사용할 수도 있습니다. 광장에 깔끔하게 맞지 않는 지역 (예 : 영국)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top