Display PostScript: Difference between revisions

Content deleted Content added
Design: Hi-DPI displays are a thing now with resolutions over 200 dpi.
Tags: Mobile edit Mobile web edit
AnomieBOT (talk | contribs)
m Dating maintenance tags: {{Citation needed}} {{Update after}}
Line 12:
 
* ''Multiple execution contexts'': Unlike a printer environment where a PS interpreter processes one job at a time, DPS would be used in a number of [[Window (computing)|window]]s at the same time, each with their own settings (colors, brush settings, scale, etc.). This required a modification to the system to allow it to keep several "contexts" (sets of state data) active, one for each process (window).
* ''Encoded names'': Many of the procedures and data structures in PostScript are looked up by name, string identifier. In DPS these names could be replaced by integers, which are much faster for a computer to find.{{citation needed|date=January 2020}}
* ''Interaction support'': A number of procedures were defined to handle interaction, including [[hit detection]].
* ''Halftone phase'': In order to improve scrolling performance, DPS only drew the small portion of the window that became visible, shifting the rest of the image instead of re-drawing it. However this meant that the [[halftone]]s might not line up, producing visible lines and boxes in the display of graphics. DPS included additional code to properly handle these cases. Modern full-color displays with no halftones have made this idea mostly obsolete.
* ''Incremental updates'': In printing applications the PS code is interpreted until it gets a <code>showpage</code> at which point it is actually printed out. This is not suitable for a display situation where a large number of minor updates are needed all the time. DPS included modes to allow semi-realtime display as the instructions were received from the user programs.
* ''Bitmap font support'': DPS added the ability to map PS fonts onto hand-drawn [[bitmap font]]s and change from one to the other on the fly. Adobe PS's ability to display fonts on low resolution devices (significantly less than 300&nbsp;[[Dots per inch|dpi]]) was very poor. For example, a NeXT screen used only 96&nbsp;dpi. This PS limitation was worked around by using hand-built bitmap fonts to provide passable quality. Later implementations of PS (including compatible replacements like [[Ghostscript]]) provided [[anti-aliased]] fonts on grayscale or colour displays, which significantly improved quality. However, this development was too late to be of much use. Modern displays are still around 100&nbsp;dpi{{update after|2020|1|12}}, but have very much superior font quality without using bitmap fonts.
* ''Programming language support'': DPS introduced the concept of a "<code>pswrap</code>", which allowed [[Software developer|developers]] to wrap PostScript code into a [[C (programming language)|C language]] function which could then be called from an application.