Acerca de la compresión
Todos hemos oído acerca de la compresión, tanto de imágenes como de cualquier tipo de archivo. Pero creo que resultará útil una breve reseña de los principales tipos de compresión existentes y su origen.
CorelDRAW utiliza un algoritmo de compresión denominado LZW, conocido tambien como algorritmo Lempel-ZIv. Fue desarrollado por dos israelies, Abraham Lempel y Jacobo Ziv, en 1977. Posteriormente fue modificado por Terry Welch, un norteamericano que trabajaba en Unisys. El nombre LZW corresponde a la sigla de los nombres de sus creadores (Lempel – Ziv – Welch).
Una de sus principales ventajas es que no se pierde nada de información en el proceso de compresión. A diferencia de otros logaritmos y sistemas, LZW solo descarta vacios de información o datos reiterados. El resultado es que un archivo comprimido, al descomprimirse es exactamente idéntico al original. El formato TIF, que originalmente no aceptaba compresión, posteriormente adoptó la capacidad de usar compresión LZW (actualmente admite varios sistemas de compresión).
Otro algoritmo que no produce pérdida de informacion es RLE (Run Length Encoded) utilizado para compresión de imagenes BMP, pero debido a la baja calidad gráfica de dicho formato, sólo se le utiliza en imágenes de pantalla para Windows.
Posteriormente, Phil Katz produjo su propia version del argoritmo LZW, al cual denomina con sus iniciales: PK-Zip. Su versatitilidad y eficacia lo convirtieron en el formato de compresion más popular de PC aun desde D.O.S. Con la aparición de Windows, surge WinZip, que era inicialmente una simple interfase gráfica al PKZip, originando una serie disputa con la empresa propietaria del software original, PKware. Otros sistemas de compresion similares, tambien basados en la implementación del algoritmo LZW, son los formatos ARJ, ARC, y RAR, que tambien han entrado con éxito en el ambiente Windows con WinArj y WinRar. Finalmente, en el año 2005 la empresa Vector Capital, propietaria de Corel, acabó adquiriendo WinZip.
Los formatos Zip, Rar, arj, etc, son utiles para comprimir archivos en forma rapida y eficiente, permitiendo almacenar múltiples carpetas, conservar la estructura de directorios, incluir password, etc. Se puede agregar o quitar informacion del archivo comprimido. Windows XP trata a los archivos .zip como si de carpetas comprimidas se tratara, sin necesidad de poseer ningun programa adicional. Sin embargo, en diseño gráfico su utilidad es relativa. CorelDRAW incorpora una implementacion del algoritmo LZW en sus archivos, por lo que sus archivos ya se guardan comprimidos. Esa opción puede deshabilitarse, dotando de mayor velocidad al programa para abrir y guardar documentos, pero producirá archivos significativamente más grandes.
Comprimir un archivo de CorelDRAW no producirá un archivo más pequeño, puesto que ya por defecto está comprimido; de hecho, un zip o rar puede ser mayor aun que el propio CDR original. La ventaja de usar zip, arj, rar, etc, consiste en la opción de segmentar un archivo grande de CorelDRAW en varios archivos pequeños, sea para almacenar en diskettes o para enviar por e-mail. Recordemos que algunos proveedores de internet aun limitan el tamaño de los archivos adjuntos a un mega como máximo. Cabe agregar que dichos formatos no producen pérdida de informacion, aunque si se daña el archivo comprimido ya no podrá descomprimirse.
Los JPG
Un capítulo aparte merece el formato de compresión de imágenes más popular del momento: JPG, extensión del formato J.P.E.G. (sigla de Joint Photographers Expert Group, nombre del equipo que elaboró la versión inicial). Su extraordinario índice de compresion de imágenes le convirtió en la estrella de internet, permitiendo imágenes de escaso tamaño. El uso de dicho formato en la industria gráfica ha causado numerosas polémicas, debido a que el formato JPG deteriora el contenido a medida que lo comprime. A mayor índice de compresión, más reducido el archivo pero tambien menor calidad de imagen. Su índice de compresión es progresivo, en Photoshop es una escala de 1 a 12, siendo el 12 la menor compresion y la mayor calidad; en CorelDRAW y Corel Photopaint es una escala de 0 a 100 pero el orden es inverso al de Photoshop: a mayor cantidad menor calidad. Al comprimir, JPG introduce “artefactos” es decir, una serie de irregularidades de imagen a fin de compensar zonas de color y ganar en espacio.
Dichos artefactos se aprecian claramente si se observa una separación de colores o se ven los canales en un editor de imagenes. Si usamos un índice de compresión elevado, dichas zonas aparecen como rectangulos que estropean irreversiblemente la imagen. En un programa de retoque fotografico (PhotoPaint, Photoshop) dichas imperfecciones no son apreciables mientras el archivo está abierto, es preciso cerrarlo y abrirlo nuevamente para apreciar el resultado. CorelDRAW y PhotoPaint tienen una previsualizacion al exportar, permitiendo ver la diferencia entre el originial y el nuevo. Si al exportar como JPG, indicamos un índice de 90 y actualizamos la previsualización, notaremos claramente la diferencia de calidad entre el original y la nueva versión.
Es importante recordar que el archivo JPG está comprimido sólo mientras el archivo está cerrado. Al abrirlo en PhotoPaint, Photoshop, etc, o colocarlo en otro programa (CorelDRAW, Indesign, PageMaker, Illustrator, etc.) el archivo se descomprime. Sin embargo, en el caso del JPG el archivo descomprimido no es igual al original, pues ya hubo pérdida de informacion al guardar. En el caso de los archivos TIF y CorelDRAW (cdr) con compresión LZW, el tamaño de los mismos vuelve a ser el original al abrirlos. Por esa razón, es importante tener en cuenta que un archivo abierto será mayor de lo que informa el tamaño de archivo. Asi, pues, un archivo que pese 10 megas si se guarda comprimido, pesará 50 u 80 megas si se guarda sin comprimir, pero al abrirse, de una u otra manera, será idéntico. Y un mensaje de impresión Postscript es, por naturaleza, mucho mayor que el archivo nativo cdr.
Los temporales y el CARM
Y si hablamos de compresión y tamaños de archivos, cabe mencionar el tema de los archivos temporarios. Si tenemos un archivo de 10 megas abierto, al descomprimirse tendrá, por ejemplo, 50 megas. El sistema operativo cargará en memoria RAM todo lo que le sea posible, pero una vez saturada la memoria comenzará en enviar informacion por segmentos al archvo de intercambio temporal (archivo SWAP o memoria virtual de disco). Y como el acceso a disco es mas lento (en especial si se trata de unidades IDE, ya que los SCSI y UltraWide SCSI son más veloces) la velocidad de proceso se enlentece.
Cada vez que ejecutamos una orden en CorelDRAW (o el programa que sea), se guarda la informacion, para permitir Deshacer (ctrl+z) pero tambien para permitir Rehacer (Ctrl+May+Z). CorelDRAW y Photoshop guardan una lista de Historia de las ordenes y comandos ejecutados, permitiendo regresar a un punto cualquiera de esa lista, sin necesidad de hacer Ctrl+z diez veces seguidas. Photoshop no permite más de un paso con Ctrl+z, para el resto hay que recurrir directamente a la Historia. En CorelDRAW se puede realizar por ambos mecanismos, aunque la mayoria de los usuarios ignora que CorelDRAW tiene una lista de Historia y hace Ctrl+z una y otra y otra vez hasta llegar al punto deseado. Pero cada paso para deshacer (y para re-hacer) es un archivo temporario o temporal. Si en CorelDRAW tenemos asignados 99 niveles de Deshacer (menu Herramientas / opciones / General) significa que cada archivo abierto generará hasta 99 archivos temporarios en memoria. Si, continuando con el ejemplo, el archivo pesa 10 megas comprimido y 50 megas al descomprimirlo, tendremos 99×50 megas, más el archivo original, 5000 megas de archivos temporales. Aun en equipos potentes, un simple archivo de 10 megas podría colapsar al sistema. Calculen lo que ocurriría si en lugar de uno, tenemos abiertos a la vez cinco archivos de 40 megas cada uno, y ademas de CorelDRAW tenemos abierto un par de programas más.
La consecuencia es que Windows informará a CorelDRAW que está a punto de colapsar y Corel activará su recurso de emergencia: el odiado CARM (Corel Application Recovery Manager). Y mientras insultamos a Corel por dentro, no nos queda más alternativa que cerrar nuestro trabajo, a riesgo de perderlo, liberando de esa manera a Windows de su carga de temporales. Sin embargo, aunque teórcamente deberian eliminarse automáticamente, en los hechos muchos de los temporales permanecen hasta que reiniciemos el sistema. podemos eliminar los archivos TMP, en el menu inicio / ejecutar, escribimos %temp% y nos muestra la lista de archivos en el entorno temporal. Si no hay ningun programa en ejecución, podemos borrarlos todos. Pero no tenemos acceso al archivo SWAP de Windows, por lo que la única manera de limpiarlo es reiniciar el equipo. Sin embargo, en nuestra desesperacion, si aparece el CARM pensamos que es culpa de Corel, cerramos y abrimos de inmediato, sin darle oportunidad a Windows a depurar el sistema, y cargándolo de nuevos archivos temporales. La consecuencia será que cada vez aparecerá el CARM con más frecuencia. Y desactivar el CARM no soluciona el problema, solo evita que nos avise antes de un error. El problema no está en Corel sino en Windows.
Una buena medida consiste en reducir la lista de de Deshacer a una cifra baja, nueve o diez. Guardar con frecuencia, no estar horas sin guardar nada. Si tarda demasiado en guardar, desactiven la compresion y lo hará mucho más veloz. Si se van a realizar cambios de prueba, y no se desea perder lo anterior, es preferible “Guardar como.. ” con otro nombre. Si el archivo es muy grandes (un catálogo, libro, etc) realizarlo en partes, y luego unificarlas al terminar. Desactivar las opciones que no se utilizan y consumen recursos sin necesidad: La previsualizacion RealTime y los sonidos, por ejemplo. Limpiar el sistema regularmente de archivos temporales (Recuerden: Menu inicio / Ejecutar, %temp%). Reiniciar el sistema si se nota que queda lento, asignarle el máximo posible a la memoria virtual de Windows, permitiendo que el sistema operativo administre los recursos. Algunos antivirus (Norton, Panda) consumen excesiva cantidad de recursos, y no son tan confiables como otros más agiles (Kaspersky, Nod32, etc.) Tambien es importante protegerse contra ad-ware y troyanos, con software especifico (los antivirus, por sí solos, no bastan). Un buen troyano puede consumir mas recursos que CorelDRAW y Photopaint a la vez.
Mantener el sistema adecuadamente nos evitará la mayor parte de los problemas de estabilidad.