Next: Optimized text operators
Up: About PostScript 2
Previous: Binary Encoding
- Rectangle operators. New operators for filling, clipping and
stroking rectangles; all highly optimized. For example, rectfill is
3 times faster than an equivalent moveto, lineto, lineto, lineto,
closepath, fill. Benefits: performance and convenience.
- Graphics state objects provide a fast way to switch between
graphics states, which define the current line weight, color, font,
etc. In existing printers, graphics states are stored on a stack,
so accessing an arbitrary graphics state is somewhat cumbersome.
With graphics state objects, the graphics state can be associated
with a name, and retrieved by simply requesting the name.
Benefits: Performance, convenience.
- Halftone specification. New halftone dictionaries provide a more
precise way of specifying the halftone dots, and makes switching
between halftone screens faster. (The spot function is not
reinterpreted.) Benefits: Performance, convenience, enhanced functionality.
- User paths are self-contained procedures that consists entirely
of path construction operators and their coordinate operands. User
path operators perform path construction and painting as a single
operation; this is both convenient and efficient. There is a user
path cache to optimize interpretation of user paths that are invoked
repeatedly. Benefits: Performance, convenience.
- Stroke adjustment. For very thin lines, there is a trade-off
between perfect positioning and consistent line width. Depending
on the placement of such a line, it could end up being rendered as
either 1 or 2 pixels wide, which is a noticeable difference. To
account for this, PostScript language programs often include logic
to slightly alter the coordinates of lines for consistent rendering.
With automatic stroke adjustment the interpreter performs this
adjustment to ensure consistent widths. Doing it in the interpreter
rather than in the PostScript language program is 20 - 30% faster.
Benefits: Performance, convenience, improved quality.
Next: Optimized text operators
Up: About PostScript 2
Previous: Binary Encoding
Allen B
2/2/1998