ImageMagick - Как рассчитать использование дискового кэша и памяти? - PullRequest
0 голосов
/ 18 мая 2018

Я пытаюсь изменить размеры десяти 21 ГБ PSB-изображений в Windows 10, используя ImageQuick 7:

Version: ImageMagick 7.0.7-31 Q16 x64 2018-05-07 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2018 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Visual C++: 180040629
Features: Cipher DPC Modules OpenMP
Delegates (built-in): bzlib cairo flif freetype gslib heic jng jp2 jpeg lcms lqr lzma openexr pangocairo png ps raw rsvg tiff webp xml zlib

Детали изображения:

d:\magick identify -verbose extreme.psb
Image: extreme.psb
  Format: PSB (Adobe Large Document Format)
  Class: DirectClass
  Geometry: 70866x53291+0+0
  Resolution: 6000x6000
  Print size: 11.811x8.88183
  Units: PixelsPerInch
  Colorspace: sRGB
  Type: TrueColor
  Base type: Undefined
  Endianess: MSB
  Depth: 16-bit
  Channel depth:
    Red: 16-bit
    Green: 16-bit
    Blue: 16-bit
  Channel statistics:
    Pixels: 3776520006
[...]

Я кое-что сделал, используя Формула ImageMagick (в разделе «Требования к хранилищу и ресурсам кэша»):

ширина * высота * битовая глубина / 8 * каналов

, что позволило бы создать кэшфайл размером 30,212,160,048 байт.

Затем попытка изменить размер изображения:

d:\magick extreme.psb -resize 95% extreme.tiff

Но он все равно останавливается (через 15 минут) с сообщением:

magick: unable to extend cache 'extreme.psb': No space left on device @ error/cache.c/OpenPixelCache/3673.

На SSD-диске доступно 48 ГиБ для кэширования - 60 ГиБ, включая исходное изображение.Даже если размер файла кэша составляет 30 ГиБ, в нем по-прежнему остается 18 ГБ.

Как определить общий размер, необходимый для обработки (любых) изображений?

Примечание: как вы видите, я смог запустить на нем identify -verbose, что также создало временный файл 21 ГБ.Поэтому я думаю, что может быть больше временных файлов, чем кажется на первый взгляд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...