Skip to main content
Skip table of contents

Raster band control

This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP.

There are two ways of determining how the RIP calculates the band height. The most common method is the use of the /MaxBandMemory system parameter (see below). Alternatively, use the pagedevice parameter /BandHeight to explicitly control the height of bands. See below for more information.


If the /BandHeight page device parameter is not given, or given as null (the default), the RIP determines the band height with the help of the /MaxBandMemory system parameter (a float) measured in mebibytes.

This parameter controls the maximum memory set aside for band rendering.

The RIP divides the /MaxBandMemory amount equally between the number of renderer threads. Two renderer threads, for example, each gets one half of /MaxBandMemory.

The band height is calculated to use as many lines as possible within the given memory.

On HMR, the Memory per renderer thread option in the Configure RIP Options dialog and the underlying RendererThreads system parameter are used by the ExtraStart file called SetMaxBandMemory to set the system parameter accordingly.  In Harlequin Core, the default value of /MaxBandMemory is 1.5 MiBs per renderer thread.

If you currently set /MaxBandMemory via HqnOEM, this overrides the ExtraStart file.

Each thread’s allowance needs to be able to hold one output band plus other essential buffers needed by the renderer. This makes predicting the actual output band height non-trivial, as it needs to take into account the width and bit-depth of the output raster, as well as the space needed for essential buffers. The essential buffers are larger when module screening is installed (that is, when they are registered), because of the contone and object map buffers (16 bits-per-pixel each), that might be needed as input to the modules. You can find the chosen band height by using the following code snippet:

  /StartRender <<
    /ReportBandHeight {
      (...DIAGS: Actual band height (lines) == ) =print
      (%pagebuffer%) currentdevparams /BandHeight get ==
>> setpagedevice

A message returns in the form:

...DIAGS: Actual band height (lines) == 145


The /BandHeight pagedevice parameter specifies the number of lines required per band. Provided enough memory can be allocated, the RIP honors this number.

If enough band space cannot be allocated, setpagedevice raises a VMerror.

A configurationerror means that the printer buffer is too small (the printer buffer needs to be large enough to hold two output bands).

If BandHeight is set to a negative number (-x), the band height becomes the band height calculated from /MaxBandMemory  rounded down to the nearest value which is perfectly divisible by x.

No GUI control is yet provided for this parameter.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.