Postscript Operators 'v'
version - version
string returns a string that identifies the version of the PostScript interpreter
being used. This identification does not include information about the language
features or the hardware or operating system environment in which the PostScript
interpreter is running.
ERRORS:
stackoverflow
SEE ALSO:
languagelevel,
product,
revision,
serialnumber
Troubleshooting index
Back to Postscript index
viewclip - viewclip
- DPS replaces the current view clipping path by a copy of the current path
in the graphics state. The inside of the current path is determined by the
normal non-zero winding number rule. viewclip implicitly closes any open
subpaths of the view clipping path. After setting the view clip, viewclip
resets the current path to empty, as if by newpath. viewclip is similar
to
clip in that it causes subsequent painting
operations to affect only those areas of the current page that lie inside
the new view clipping path. However, it differs from clip in three important
respects:
- The view clipping path is independent of the current clipping path,
which is unaffected. A subsequent
clippath
returns the current clipping path, uninfluenced by the additional clipping
imposed by the view clip.
- viewclip entirely replaces the current view clipping path, whereas clip
computes the intersection of the current and new clipping paths.
- viewclip performs an implicit
newpath
at the end of its execution, whereas clip leaves the current path unchanged.
The view clipping path is independent of the graphics state; it is maintained
separately for each execution context. Modifications to the view clipping
path obey save and restore. The view clipping path can be described by a
user path. This is accomplished by: newpath userpath uappend viewclip If
userpath specifies ucache, this operation may take advantage of information
in the user path cache.
ERRORS:
limitcheck
SEE ALSO:
initviewclip,
viewclippath,
clip
Troubleshooting index
Back to Postscript index
viewclippath - viewclippath - DPS
replaces the current path by a copy of the current view clipping path. If
no view clipping path exists, it replaces the current path by one that exactly
corresponds to the bounding rectangle of the imageable area of the output
device.
EXAMPLE:
initviewclip viewclippath pathbbox
If the current device is a window device, this returns the bounding box
of the window.
ERRORS: (none)
SEE ALSO:
viewclip,
initviewclip,
clippath
Troubleshooting index
Back to Postscript index
VMerror (error)
An error has occurred in the virtual memory (VM) machinery. The most likely
problems are:
- An attempt to create a new composite object (string, array, dictionary,
or packed array) would exhaust VM resources. Either the program's requirements
exceed available capacity or, more likely, the program has failed to use
the save/restore facility appropriately.
- The interpreter has attempted to perform an operation that should be
impossible due to access restrictions (for example, store into systemdict,
which is read-only). This represents an internal error in the interpreter.
The default handler for this error, unlike those for all other errors, does
not snapshot the stacks.
Troubleshooting index
Back to Postscript index
vmreclaim int vmreclaim - LEVEL 2
controls the garbage collection machinery as specified by int:
- -2 Disable automatic collection in both local and global VM.
- -1 Disable automatic collection in local VM.
- 0 Enable automatic collection.
- 1 Perform immediate collection in local VM.
- 2 Perform immediate collection in local and global VM.
This can take a long time, because it must consult the local VMs of all
execution contexts. Garbage collection causes the memory occupied by the
values of inaccessible objects to be reclaimed and made available for reuse.
It does not have any effects that are visible to the PostScript language
program. There is normally no need to execute the vmreclaim operator, because
garbage collection is invoked automatically when necessary. However, there
are a few situations in which this operator may be useful: o In an interactive
application that is temporarily idle, the idle time can be put to good use
by invoking an immediate garbage collection. This defers the need to perform
an automatic collection subsequently. In a context that is under the control
of a job server.
garbage collection is invoked automatically between jobs.
- When monitoring the VM consumption of a program, one must invoke garbage
collection before executing vmstatus to obtain meaningful results.
- When measuring the execution time of a program, one must disable automatic
garbage collection to obtain repeatable results. The negative values that
disable
garbage collection apply only to the current execution context; that is,
they do
not prevent collection from occurring during execution of other contexts.
Note that disabling garbage collection for too long may eventually cause
a program to run out of memory and fail with a VMerror. Executing vmreclaim
with an operand of 0, -1, or -2 has the same effect as setting the VMReclaim
user parameter to the same value by means of setuserparams.
ERRORS:
rangecheck,
stackunderflow,
typecheck
SEE ALSO:
setvmthreshold,
setuserparams
Troubleshooting index
Back to Postscript index
vmstatus - vmstatus
level used maximum returns three integers describing the state of the PostScript
interpreter's virtual memory (VM).
level is the current depth of save nesting-in other words, the number of
saves that haven't been matched by a restore. used and maximum measure VM
resources in units of 8-bit bytes; used is the number of bytes currently
in use and maximum is the maximum available capacity. VM consumption is
monitored separately for local and global VM.
The used and maximum values apply to either local or global VM according
to the current VM allocation mode (see
setglobal).
The used value is meaningful only immediately after a garbage collection
has taken place (see
vmreclaim). At other times,
it may be too large because it includes memory occupied by objects that
have become inaccessible, but have not yet been reclaimed.
The maximum value is an estimate of the maximum size to which the current
VM (local or global) could grow, assuming that all other uses of available
memory remain constant. Because that assumption is never valid in practice,
there is some uncertainty about the maximum value.
Also, in some environments (workstations, for instance), the PostScript
interpreter can obtain more memory from the operating system. In this case,
memory is essentially inexhaustible and the maximum value is meaningless-it
is an extremely large number.
ERRORS:
stackoverflow
SEE ALSO:
setuserparams
Troubleshooting index
Back to Postscript index
Original file name: PSL2v.html