Enabling multi-threading and Harlequin Parallel Pages
This page applies to Harlequin v13.1r0 and later; and to Harlequin Core but not Harlequin MultiRIP.
In Harlequin Core, these are configured by PostScript-language options. Usually, this is done in a file run as the RIP boots, typically Sys\HqnOEM, though you could modify these settings in configuration file.
<<
/NumDisplayLists 2
/MaxThreads [2 3]
>> setsystemparams
The /MaxThreads
system parameter value determines how many threads the RIP attempts to use. The RIP tries to keep the number of threads set by the /MaxThreads
system parameter control busy, but may temporarily restrict or over-subscribe the number of threads for short periods. /MaxThreads
can be an integer or an array. If it is an integer, it sets the maximum active threads (the maximum number of threads is raised, if it was lower than the new value). If it is an array, it sets the maximum active and the maximum number of threads the RIP can use (limited by the product key). Both of these are limited to the maximum number of threads allowed by the current RIP license.
The number of Harlequin Parallel Pages permitted simultaneously is set using the /NumDisplayLists
system parameter.
You can set the maximum number of threads using the -p
parameter to the clrip
test harness. The -p
value is used as the default for the number of active threads. /MaxThreads
can be used to set lower, but not higher values for the number of threads. If /MaxThreads
is not set, and your product key allows up to 5
threads you can set -p
up to a value of 5
.
Best results are seen when the /MaxThreads
value is set slightly lower than the maximum number of threads (the limit); values of 3
and 5
may be used respectively, for example (depending on the number of cores available). However, /MaxThreads
could temporarily be decreased to allow processing of a problem job. In addition, even if you had an “unlimited” product key, you may choose to set the maximum number of threads (the limit) to 8
(for example), so that the core RIP does not use too many threads.
The values returned for /MaxThreads
in currentsystemparams
show the settings that were actually made after taking the limits set by the RIP skin and the current product key for multi-threading limits into account. Note that this doesn't tell you how many threads are actually running at any one time.
Higher numbers of Parallel Pages require that more RAM is allocated to the RIP to store display lists and resources such as images and fonts. Testing has indicated that by far the greatest step gain is achieved by increasing the number from 1
to 2
. Each further increase provides less benefit than the previous one. The maximum value of /NumDisplayLists
is 5
.
Harlequin Parallel Pages has no effect if there is only one thread.