January 16, 2007

It's all about the TIFFs

A post on the InDesign Secrets blog and some questions I've recently received while on tour on the Discover Adobe Creative Suite 2 Tour made me think about posting this -- some of the content I had posted previously on the CTP-Q Print Planet forum, and there's some other related stuff as well here. On the CTP forum, this topic came up mainly due to issues where a user noticed that after placing certain kinds of images into Illustrator (PSD files), the image ended up being chopped up into pieces, while it was not happening when placing other image files (TIFF files).

First, let's talk about how the TIFF format might be more beneficial than using PSD or EPS when placing art from Photoshop into Illustrator.

Illustrator is quite an old application and while a lot of the internal code has been rewritten and updated over the years, a lot of the old code is still there as well. Keep in mind that Illustrator has over 5 million lines of code, so it's impossible to rewrite the entire application at once -- but portions of the code are rewritten over time. One example is the text engine which appeared in version CS (although the rewriting of that text engine actually started 5 years prior during the development of Illustrator 9).

In early versions of Illustrator (we're talking version 1.1 and 3.2 here), Illustrator wasn't really built to handle large raster images (and there was little reason to imagine it should), and so when large images were placed into Illustrator, those images were chopped up into smaller pieces. Why? Because in those days, programs were bound to linear memory allocations. Remember those? If AI would request a huge block of memory when it placed an EPS file, it would be very hard to find a block at that size, and that memory wouldn't be released and would result in a waste of memory. By chopping the image up into smaller chunks, Illustrator could request smaller memory allocations and better manage system memory and its internal memory.

When transparency was introduced in Illustrator 9, it was realized that raster components would be playing a much larger role in Illustrator and therefore, a new architecture was put in place to allow Illustrator to internally chop up a file for better memory allocation control, but that wouldn't result in the image actually being chopped up in the file for printing. I believe that this process also got better with the enhanced memory handling that were made possible with the release of WindowsXP and MacOS X.

In any case, even though the architecture for this exists, the functionality must still be internally hooked up and optimized to work with each kind of file format supported in Illustrator. It appears that TIFF files are using this new architecture, but PSD and EPS haven't been moved over yet and are still using the older method. Adobe is constantly updating and rewriting code in each release and I know that this issue is one of their priorities. I'm sure they will be addressed in future versions and that more of these file formats will be hooked up to the new architecture.

Remember that you never see these things happen in your Illustrator file itself because you're always working with private native Illustrator data. These issues only occur in the EPS or PDF portion of the file. (If you don't know what I'm referring to, try to search for a post I once made that details what's inside of an Illustrator file.)

If your Photoshop file contains transparency, layers, and spot channels, you'll find better support using the PSD file format. But for normal TIFF images, Illustrator has better ways to handle it...

... but since we're on the topic of TIFF files, here's something that's been popping up recently. Apparently, users have reported that when placing TIFF images into Illustrator, and then updating those TIFFs -- during the update process, the TIFF images FLIPS! The user must then go in and manually flip the image back. How odd. While I haven't been able to reproduce this myself, enough people have mentioned it to me (and I've seen such discussions on the Illustrator User to User forum) that it seems such a problem exists. So here's my ask... if you have experienced this problem before and can reproduce it, please post a comment here describing the behavior, and if possible, use the email link on this page to email me a copy of the file. I'd love to get to the bottom of this!

Overall (and I made this point on the InDesign Secrets site as well) -- each job is different, and you need to make decisions on what file format will work best for the job at hand :)


Anonymous said...

Mordy, here the step to reproduce the flipping Tiff in CS2.

1) Place a Tiff (linked)
2) Save as native AI with Included Links or
2) Save as EPS with Include Link
3) Close and Open the file
4) Select the "Now" embeded image
5) Place the same image using link and replace
Results: The image is flipped upside down

You can see this even without replacing the file..
3) Close and Open the file
4) Bring The link Palette in Thumbnail
Results: You can see from the preview in the link palette that it was flipped.

Anonymous said...

I don't believe your description of memory allocation is accurate. There is no reason (aside from sloppy programming) that a large block of contiguous memory would not have been released, even back in the 68k days. What is an issue is that such an allocation (if it succeeded at all) would very likely fragment the heap severely, and the OS's Memory Manager wasn't particularly adept at dealing with things such as this without a fair amount of manual intervention at the time. Still, allocations made via NewHandle() were always relocatable unless specifically locked down, so I think the real problem was simply the total amount of memory commonly available due to hardware, software and monetary restrictions.

Anonymous said...

I read the article on Inde secrets and your own blog. I recently had a simular thing go wrong in Illu CS with a placed Photoshop PSD (greyscale). It all looked fine in Illustrator but upon placing the illu .Ai file in Indesign CS everything looked fine exept for the .PSD greyscale. The .PSD showed up negative. When printing from Indesign the end result also was a negative PSD. I solved it by making the .PSD negative in Photoshop and replacing that in Illustrator. It also turned negative and thus made it positive. But it is weird.


Gary Spedding, Ph.D. said...

Thanks again for all this great stuff. Any chance there might be interest by your readers in knowing how to use Illustrator to print multiple address labels or logos on Avery-type multi-label sheets? I am not sure how to get a spread of the same image or logo printed for stickers and the like. I also posed the same Q to Terry White just FYI.

Anonymous said...

Use a tool such as Mail Factory which is designed specifically for the task of printing on multi-label sheets. You can import PDF artwork directly into the label designs and go from there. Illustrator shouldn't really ever need to worry about that kind of thing itself, but if you absolutely must use it, then you can setup a template document with guide markers for the label boundaries and fill them in with blends.

Anonymous said...

zFlipped tiff images in Illustrator CS2: has happened almost every time with me. Always after placing, saving, closing and reopening the file. Frustrating, because when I go to prep the file for final printing I now have to check that the linked images aren't rotated 180ยบ. It causes a good amount of anxiety because as a designer, if the artwork is wrong when it goes to the printer, I'm screwed. Would love to see Adobe fix this little glitch. With the money they charge for this program, you expect it to be perfect!

Anonymous said...

I have always wanted to know. Besides jobs that are for billboards. Why do people place Photos into Illustrator? Illustrator is for Illustrations not Page Layout.

Anonymous said...

Hmmm... Illustrations have to be only vector? How restricting. Almost all design these days use a combination of both vector and raster elements.

And why not use Illustrator as a page layout tool? It is the best design tool there is, period. I've been doing this for twenty years both from the design agency side as well and the production/output side and things just go better with Illustrator. Any single sheet design - from magazine ads to full-color packaging to small brochures with unusual folds and diecuts work better. And the beauty of working with PDF format natively takes it to the next level.

I'm not sure why people still insist on using cumborsome multi-page-layout programs for single sheet design jobs - switch to Illustrator and let your creativity fly....

Anonymous said...

If I place a TIFF that has CMYK and spot channels, CS & CS2 don't want to display the spot channel.
Any ideas?

Anonymous said...

Hi there,

I just thought it may be of some interest to you to know that a while back i came across a british labels company, they sold me a batch of plain labels for a really low price. It may be of some interest to you to also know they can also implement mutiple databases onto their thermal printing machine, i.e. they could take your database and create unique thermal labels based on your data, which means they could print all your address labels for you.