Cuando Lightroom guarda los cambios de metadatos en un archivo DNG, ¿lo hace?
A) Simplemente reescriba la parte XMP/metadatos del archivo DNG en el archivo existente, es decir, una actualización parcial del archivo.
o
B) Sobrescribir todo el archivo en el disco (en su lugar).
o
C) Elimine el archivo existente y escriba un archivo completamente nuevo en el disco (obviamente con el mismo nombre de archivo). (Ni siquiera estoy seguro de si esto es técnicamente diferente a B anterior)
En caso de que sea relevante/haga una diferencia, estoy usando Lightroom en Windows 8.1 de 64 bits en un sistema de archivos NTFS en un HDD giratorio normal (no SSD). Pero también desea saber si la respuesta es diferente para otros sistemas o SSD.
Básicamente, estoy considerando usar DNG con el archivo RAW original incrustado, por lo que mis archivos DNG tendrían alrededor de 30 MB. Solo me pregunto si esos 30 MB completos se reescribirán en el disco cada vez que toque algo en Lightroom (e incluso cuando no cambie nada de acuerdo con lo que algunas personas han informado).
Si los metadatos se integran en el archivo principal, la mayoría de los sistemas operativos/sistemas de archivos en la mayoría de los sistemas informáticos utilizados por los fotógrafos suelen reescribir el archivo principal. No tengo conocimiento de ningún escenario actual que, incluso si un sistema de archivos permite la posibilidad de reescritura parcial de archivos, en realidad ocurre de esa manera cuando se usa Lightroom.
Si los metadatos se almacenan en un archivo sidecar separado, solo es necesario volver a escribir el archivo sidecar. Con Lightroom, el usuario tiene la opción de usar archivos sidecar XMP separados para almacenar metadatos y los pasos de edición que se toman cuando se trabaja con un archivo de imagen. El usuario también tiene la opción de incluir los metadatos dentro del propio archivo de imagen. Hay ventajas y desventajas en cualquiera de las opciones.
Hay sistemas de archivos que manejan los cambios en los archivos de una manera que no reescribe un archivo completo cada vez que se cambia un archivo, pero no son de uso muy común por parte de los consumidores que usan sus computadoras domésticas para almacenar fotografías, o incluso por la mayoría de los fotógrafos profesionales. Si utiliza sistemas de archivos como ZFS o ReFS (que incluso teóricamente permiten la posibilidad de reescritura parcial de archivos) para almacenar fotos, se encuentra en una minoría muy pequeña.
A medida que crece la cantidad de usuarios que adoptan el nuevo APFS de Apple (a través del próximo reemplazo de hardware), eso puede cambiar con el tiempo en el futuro, y las aplicaciones como Lightroom podrían aprovechar esa capacidad en el futuro. A partir de ahora, la mayoría de los fotógrafos no están usando un sistema de archivos de este tipo en sus computadoras, e incluso aquellos que sí lo están, no ganan nada con respecto a la escritura parcial de archivos si la aplicación, como Lightroom, no usa la capacidad.
truss
y lo vi escribir el archivo completo en cada actualización de metadatos. Creo que te estás confundiendo con la función CoW de estos sistemas de archivos, que simplemente evita una reescritura completa del archivo cuando la aplicación toca solo una parte del archivo; si la aplicación no juega a la pelota, el FS no puede salvarte.Lightroom no reescribe todo el archivo DNG cuando guarda los metadatos en el archivo, ya sea a través de Cmd/Ctrl-Sla configuración de catálogo "Escribir cambios automáticamente en XMP" o cuando está habilitada.
Verifiqué esto al monitorear Lightroom CC 2016.6.1 en OS X 10.11.6 en dtruss
, luego escribí un script Perl para analizar los datos recopilados. Los comentarios en ese script explican el método, pero si solo desea ver un conjunto típico de resultados, aquí tiene:
E/S de datos para el archivo _1020153.RW2: 256K de lectura E/S de datos para el archivo _1020153.xmp: 6.87K lectura 3.59K escrito E/S de datos para el archivo _1020176.dng: 3,38 millones de lectura 6.52K escrito
Los dos archivos sin procesar mencionados anteriormente fueron capturados el mismo día por la misma cámara, y la E/S proviene de aplicar la misma palabra clave a cada archivo. La única diferencia es que uno es el archivo RAW nativo de la cámara (Panasonic RW2) y el otro fue convertido por Lightroom a DNG antes de la prueba. El archivo RW2 tiene 18,7 MiB y el archivo DNG tiene 13,4 MiB. (La diferencia de tamaño se debe a que DNG utiliza una mejor compresión sin pérdidas que la típica de los formatos RAW de cámara nativos).
Como puede ver, aunque ninguna de las actualizaciones escribió suficientes datos para reescribir todo el archivo, la actualización de DNG involucró aproximadamente 13 veces más de lectura y casi 2 veces más de escritura.
También es de interés que Lightroom hace más que simplemente escribir en el archivo XMP en el caso de RAW de cámara nativo. También lee una cantidad sustancial de datos del archivo sin procesar, probablemente para asegurarse de que el archivo sin procesar no haya cambiado antes de escribir en el archivo XMP complementario.
Sin embargo, no tomaría este único resultado de prueba como representativo si fuera usted. Pruébelo en sus propios archivos. No me sorprendería si obtuvieras resultados diferentes.
Tenga en cuenta que el costo total de estas E/S solo se paga la primera vez que trabaja en un conjunto de archivos determinado en una sesión de Lightroom determinada. Si aplica un montón de palabras clave en sucesión, las lecturas de datos en particular serán casi instantáneas, ya que el contenido del archivo seguirá estando en la memoria caché del búfer de su sistema operativo.
dtruss
no está disponible para Windows, pero existen alternativas equivalentes . La adaptación de la secuencia de comandos de análisis de Perl para trabajar con la salida de dichas herramientas debería ser sencilla.
WayneF
pedro m
esto