배치 이미지 리시딩을 최적화하는 것은 이미지 무거운 응용 프로그램 (전자 상거래 카탈로그, 갤러리, 피드)에 필수적입니다. Aspose.Imaging for .NET은 코드를 완전히 관리하고 크로스 플랫폼을 유지하는 동안 효율적으로 이미지를 로드, 재시작 및 암호화 할 수 있습니다.

완전한 예제

단계 1 : 적절한 재구성 전략을 선택하십시오.

당신의 출력 제한과 일치하는 전략을 선택하십시오 :

  • 제한 상자 (소매를 위해 권장): 사용 FitInto 내부에 적합한 이미지 targetWidth × targetHeight * 변형 없음** (방향 비율을 유지)
  • ** 절대 크기 (정확한 픽셀): ** 소비자가 고정된 크기를 필요로 하는 경우 절대로 재량을 사용하십시오 (측면 비율이 다르다면 방해가 발생할 수 있습니다).
  • 퍼센트 스케일링: 동일한 크기 (예를 들어, 원본의 50 %)에서 단일 하락을위한 핸드.

** 팁:** 스토어 프론트 네트워크 및 소셜 카드, FitInto 이것은 일반적으로 가장 안전한 결함입니다.

2단계 : 메모리 컨트롤 및 캐싱

Aspose.Imaging은 구성 가능한 캐싱을 지원하므로 큰 배치가 RAM을 과장하지 않습니다.

  • 대규모 일자리(SSD 지원 경로)에 대 한 ** 디스크 캐싱**을 선호합니다.
  • 처리하기 전에 캐시 폴더와 크기 예산을 설정합니다.
// Configure once at startup (example values)
Aspose.Imaging.Cache.CacheType   = Aspose.Imaging.Cache.CacheType.CacheOnDisk;
Aspose.Imaging.Cache.CacheFolder = @"D:\imaging-cache";
Aspose.Imaging.Cache.CacheSize   = 1L * 1024 * 1024 * 1024; // 1 GB

또한 :

  • 각각 사용할 수 있습니다 Image 그것이 구원될 때.
  • 한 번에 여러 개의 암호화 된 이미지를 생생하게 유지하지 마십시오 - 파일 당 프로세스.

단계 3 : 안전하게 균형을 맞추십시오

사용하기 Parallel.ForEach (그러나 그것은 그들로 하여금 그들을 섬기게 하려 함이라)

  • 세트 MaxDegreeOfParallelism 상자에 대한 민감한 값 (CPU 코어, I/O 속도, 메모리 헤드룸)
  • 각 작업은 자신의 작업을 수행해야합니다 ** Image 예를 들어, 끈을 통해 이미지 개체를 공유하지 마십시오.
  • 암호화 옵션을 변함없이 저장하여 혼란을 피하십시오.

** 가이드 :** 시작하여 MaxDegreeOfParallelism = Environment.ProcessorCount 프로파일을 수정한 후에

단계 4 : 암호화 및 품질을 의도적으로 선택

  • JPEG 출력의 경우 JpegOptions.Quality를 사용하여 톤 파일 크기 vs. 품질 (일반적인 달콤한 점 : 75–90).
  • 투명성 또는 손실없는 수출을 요구하는 자산의 경우 대신 PngOptions를 사용하십시오.
  • 사용 사례에 따라 일관된 출력 형식을 유지하십시오 (예 : 사진을위한 JPEG, UI 자산에 대한 PNG).

단계 5 : 짧은 회로 실패; 배치 이동 유지

각 파일을 시도 / 캡 (당신이 한 것처럼)에 삽입하고 경로 + 예외를 기록합니다.

  • 비 이미지 파일을 스크립트 (전면에 필터 확장)
  • 저축을 확인하기 위해 원본 및 출력 크기를 기록합니다.
  • 다시 실행하기 위해 CSV에 실패를 작성합니다.

단계 6 : I/O 위생

  • 출력 디렉토리가 존재하고 ** 빠른 디스크** (SSD)에 있는지 확인합니다.
  • 입력을 통해 출력을 쓰는 것을 피하십시오; 별도의 디렉토리로 쓰십시오.
  • 수백만 개의 파일이 있다면 디렉토리 목록을 빠르게 유지하기 위해 서브폴더로 출력을 나누십시오.

단계 7 : 빠른 건강 검사로 결과를 확인하십시오.

재설정 후 :

  • 목적지에 대 한 폭 / 높이를 확인합니다.
  • 확인 파일 형식/ 확장은 사용된 코더와 일치합니다.
  • 일반적인 경계 사례 (파노라마, 작은 아이콘, 투명한 PNG)에 대한 시각적 품질을 점검합니다.

최고의 체크리스트 (Checklist)

    • 캐시 : * 세트 CacheType, CacheFolder그리고 합리적인 CacheSize.
  • ** 균형 : ** 사용하기 Parallel.ForEach 튀김과 함께 MaxDegreeOfParallelism공유하지 않음 Image 예를 들면
    • 이용 가능 : * 항상 사용 가능 Image 곧바로
    • 암호화 : * 사용하기 JpegOptions.Quality JPEG에 대 한; 스위치 PngOptions 손실없는 / 알파
  • I/O: 별도의 입력/출력 뿌리; 사전에 만들어진 디렉토리.
  • ** 필터링:** 충전 전에 알려진 이미지 확장 프로그램에 제한합니다.
  • Logging: 레코드 실패 및 기본 매트릭스 (계산, MB 입력/출).
  • ** 업데이트:** 지속적인 성능 개선을 위해 Aspose를 유지합니다.

More in this category