Rasterized versus Non-Rasterized Printing

One of the first questions a newcomer to the MicroStation V8 XM Print dialog asks, if they notice it at all, is "what is that Rasterized checkbox for?" It's not obvious at first, but the Rasterized checkbox is one of the most important controls on the Print dialog, and it's vital to understand its purpose and how its setting affects the print performance and the printed output.

What is rasterized printing?

When printing in rasterized mode, all the graphics in the design are converted into raster by the MicroStation display system before being sent to the printer driver. The final plot file (or data spooled through Windows) consists of only non-overlapping raster tiles.

In contrast, when printing in non-rasterized mode (when the Rasterized control is unchecked), the MicroStation display system sends vector data as vectors to the printer driver, and raster data as raster. The final plot file consists of both vector and raster data.

Is rasterized printing new in the XM Edition?

Rasterized printing is not new in MicroStation V8 XM. It existed in MicroStation 8.5 and earlier in the form of the ripwin32 printer driver, sometimes called BSIRIP. The ripwin32 printer driver was restricted to printing to a Windows system printer, and offered the only method to print transparency specified in a pen table.

Rendered prints (prints of views having render modes other than wireframe) were also printed in rasterized mode in MicroStation 8.5, regardless of the destination printer driver.

What's new in MicroStation V8 XM is the ability to print any view in rasterized mode to any printer driver. To accommodate this, the Rasterized checkbox has been added to the Print dialog, the Batch Print display specification, and the Print Organizer tool introduced in MicroStation 8.11.

Since it is now possible to print in rasterized mode to a Windows printer driver using printer.pltcfg, the ripwin32 printer driver became redundant and has been removed from MicroStation V8 XM.

How does rasterized printing work?

In a rasterized print, the computer's graphics hardware is entirely responsible for converting all MicroStation graphics into raster data. This process works the same way during printing as during view display, with the graphics hardware performing all sorting based on either display priority or Z coordinates. The primary difference is that the graphics hardware is not capable of processing at once the entire print area at printer resolution. Thus, the print area is divided into tiles. The number of tiles required depends on the print size and the printer resolution.

The graphics hardware is limited by its maximum display resolution. For a modern graphics card, that might be 1600 x 1200 pixels. For compatibility with older cards, and to reduce the amount of video memory required for printing, MicroStation chooses a rasterized tile size of 1024 x 1024 pixels. At 32-bit color depth, that means a 4 MB rasterization buffer in video memory will be required. That buffer is re-used for each tile. That 4 MB is in addition to the memory the video card is using the maintain the eight MicroStation views plus the rest of the desktop.

Say you're printing to pdf.pltcfg (600 DPI) maximized to Arch D paper size (36 by 24 inches). The print size is 36 * 600 by 24 * 600 = 21600 by 14400 pixels. Divide by the tile size and you get 22 x 15 tiles, or 330 total tiles. This means MicroStation essentially prints the view 330 times, using clip rectangles and range checking to reduce the number of elements processed for each tile.

The graphics hardware is very fast -- it can convert 1024 x 1024 worth of graphics to raster in no time at all. Almost all the time spent during a rasterized print is repeatedly scanning the design file, preparing the elements, and moving 4 MB raster tiles out of the video memory and through the printer driver pipeline to the plot file. As far as printing goes, due the large difference between display & print resolution, the specifications of the video card aren't as important as the overall performance of the computer. That's not true for quickly panning, zooming, and rotating the view display, of course.

How does non-rasterized printing work?

In a non-rasterized print, MicroStation must build a display list containing the entire contents of the design in order to perform sorting (in software) based on either Z coordinates, 2D display priority, or pen table priority. For a very dense drawings, or drawings containing large amounts of raster data, this display list can sometimes run the machine out of virtual address space.

Once the display list is constructed and sorted, its contents are sent to the printer driver to be written to the plot file or spooled to the printer. Vector data stays vector, and raster data stays raster.

What are the advantages and disadvantages of rasterized printing?

The obvious advantage of rasterized printing is that it is the best way to achieve complete fidelity between the view display and the printed output. It is the only way to print special effects such as anti-aliasing, shading, reflections, and transparency, as well as accurate treatment of overlapping and intersecting 3D geometry. For very dense drawings or drawings containing large amounts of raster data, rasterized print mode may require less memory than non-rasterized mode.

The obvious disadvantage of rasterized printing is that it requires many more passes over the design, resulting in longer print times than a non-rasterized print. Raster data is also usually larger than vector data, resulting in larger plot output files and requiring more onboard plotter memory. Rasterized plot files cannot contain intelligence such as searchable text or hyperlinks. When output by some plotters, a rasterized plot file may produce less crisp line work than a non-rasterized print. Some less-advanced Windows printer drivers cannot cope with the amount of raster data produced by MicroStation during a rasterized print.  Printer drivers that must store all print graphics in memory prior to writing the plot file, such as the Bentley PDF printer driver, also may run the process out of virtual address space when printing in rasterized mode.

The Bentley HP RTL printer driver has an optimization for rasterized print mode. When printing in rasterized mode, this driver takes advantage of the knowledge that the raster tiles are always sent in the positive direction of paper movement and inserts an HP RTL instruction informing the plotter firmware that no buffering is required. Thus, the plotter can start printing a rasterized HP RTL plot file immediately, while the data is still being passed to it. When printing a non-rasterized plot file, the plotter must buffer the entire file before it can begin printing.

How do I force rasterized or non-rasterized printing?

By default, the Print dialog remembers the most-recently-used setting of the Rasterized checkbox and uses that for subsequent prints. The Rasterized toggle is unchecked in the default Batch Print display specification.

Depending on the type of data you print, you'll likely want to change this behavior to force the Rasterized toggle either on or off every time you open the Print dialog. The easiest way to do this is to edit your printer driver configuration file. You can choose to have the Rasterized checkbox set a certain way and disabled whenever the printer driver configuration is loaded, or to have the checkbox always initialize to a certain value but allow it to be changed before printing. To do this, you need to modify the value of ‘Default Output Mode' in the printer driver configuration. Refer to the product documentation under ‘Working With Complete Designs / Printing / Printer Driver Configuration Files / General Properties / Default Output Mode' for details.

Why is the Rasterized checkbox sometimes unavailable?

Rendered views can only be printed in rasterized mode. A view is considered rendered if any of the display styles affecting that view have a shaded render mode. Unlike MicroStation V8 XM or earlier, it is possible in MicroStation 8.11 to print hidden line display styles in non-rasterized mode. When a rendered view is detected, the Rasterized control is removed and replaced with a "Rendered" label.

Certain printer drivers, i.e. tiff.pltcfg, cals.pltcfg, jpeg.pltcfg, only produce raster output and rely on the graphics hardware to perform the rasterization. When printing to one of these drivers, the Rasterized control is checked and disabled.

The Bentley HP-GL/2 printer driver does not support raster data. If that printer driver configuration is being used, the Rasterized toggle is unchecked and disabled.

If the printer driver configuration file has been modified to force a particular rasterized setting, the Rasterized control is checked or unchecked appropriately and disabled.

Is rasterized mode required to get transparency when printing to PDF?

Unlike all the other MicroStation printer drivers, the PDF driver has support for vector transparency. The appearance of transparent geometry is dependent on the PDF interpreter, i.e. Adobe Reader. Not all PDF readers honor the transparency values embedded in the file, and the appearance may differ somewhat from the MicroStation view display / rasterized print output. Also, transparency cannot be applied to raster attachments when printing to PDF in non-rasterized mode, as can be done when printing to any printer driver in rasterized mode.

Why does my plotter output line caps and line joins differently depending if I print rasterized or not?

When printing in non-rasterized mode, line attributes such as caps and joins are written as instructions into the plot file. Each plotter language has its own set of line attributes, and different plotters and different firmware versions may print them differently. When printing in rasterized mode, the graphics hardware is responsible for applying the line attributes. The line caps and joins are burned in to the raster tiles, and print consistently regardless of the destination plotter or plotter language.

What I can do to improve rasterized printing performance?

The best way to improve rasterized printing performance is to lower the device resolution, thereby reducing the number of tiles required and thus the number of passes over the design. Changing the actual device resolution is not possible in many cases, such as when printing to Windows printers. Instead, the printer driver configuration has a property to set the rasterized quality factor. Note that this is a different property than the ‘Raster Quality Factor' also in the printer driver configuration and on the Print dialog. The ‘Raster Quality Factor' only affects raster elements, and is primarily designed for non-rasterized print mode. The ‘Rasterized Quality Factor' affects the entire rasterized plot file, and is only used in rasterized print mode.

For more information, refer to the product documentation under ‘Working With Complete Designs / Printing / Printer Driver Configuration Files / Advanced Properties / Rasterized Quality Factor'. Setting the rasterized quality factor to 50 will reduce the number of raster tiles to a quarter of that needed for a full-resolution print.  However, the resulting plot file will have to be scaled up by the plotter firmware when printing, which may lead to unreadable text and poor quality line work.

Note that in some printer driver configurations, e.g. hpglrtl.pltcfg, the rasterized quality factor is instead specified as an absolute rasterized quality resolution (specified in dots per inch).

What role does the raster quality factor play when printing in rasterized mode?

(The information in this section is accurate for MicroStation 8.11 and later.  In MicroStation 8.9, the raster quality factor when printing in rasterized mode is applied differently).

The raster quality factor only applies to Raster Manager attachments and imported images.  It is the ratio of print raster resolution to print device resolution, as a percentage. For example, 100% means that raster data should print at driver resolution. Setting it to 50% results in images being printed at half the device resolution. For example, when printing to PDF at 600 DPI in non-rasterized mode, 30% raster quality means that all images are rescaled to 180 DPI for printing. Lage, high-resolution images such as aerial photographs may be scaled down, while small images such as logos may be scaled up.

The rasterized quality factor only applies when printing in rasterized mode.  The rasterized resolution is typically the same as the device resolution, but may be lowered by changing the rasterized quality factor (as opposed to the raster quality factor) in the printer driver configuration. The entire print output is affected by the rasterized print resolution, not just image data in the source design file.  Thus changing the rasterized quality factor will affect the quality of printed line work.  When printing in rasterized mode, the best results will be achieved when the rasterized resolution equals that of the destination printer.