Skip to main content
Skip table of contents

Color performance and accuracy

This page applies to Harlequin v14.0r0 and later; both Harlequin Core and Harlequin MultiRIP

Text and other objects

The color of these objects are evaluated through the full color pipeline for all input colors.

Shading objects

By default, shadings are evaluated through the full color pipeline whilst establishing regions of the shading that are linear within the tolerance of the current smoothness parameter of the graphics state. The color is then interpolated between within these linear regions. As the smoothness is changed towards zero, better color accuracy is achieved at the expense of performance. The MinSmoothness and MaxSmoothness user parameters control the range of allowed values of smoothness; see System and user parameters .

If the FasterColorGradients system parameter is true, the colors that are otherwise evaluated through the full color pipeline are instead evaluated through the same internal grid described in Picture objects . This can significantly boost performance for some shadings with some color pipelines at the expense of some further loss of color accuracy above that imposed by the graphics state's smoothness.

Note: For more information regarding the FasterColorGradients system parameter, see System and user parameters .

Picture objects

Images wouldn't normally be evaluated accurately for every image pixel because performance would be poor. Instead, the RIP constructs an internal grid over the color space for each image, similar in principle to a DeviceLink ICC profile. Each node within the grid is evaluated accurately, while colors between the nodes are interpolated.

The accuracy of color is normally more than good enough for the default settings. Accuracy can be improved by increasing the number of grid points using the FasterColorGridPoints user parameter. Increasing the number of grid points (to 33, for example) will consume more memory and may result in slower performance. Testing on a production system is required to determine the trade-off between performance and accuracy.

In some cases, even a large value for FasterColorGridPoints isn't sufficient to retain highly non-linear color changes in the output. These highly non-linear changes are usually confined to a small number of mini-cubes (that is, regions between neighboring nodes of the grid), which can be handled by directly evaluating colors within them. If the FasterColorSmoothness user parameter is set appropriately, those mini-cubes are identified by comparing the interpolated and directly evaluated color at the mid-point of diagonals of all primary colorants in the mini-cube. If the difference in any component is more than the FasterColorSmoothness value, the mini-cube will not be interpolated. The value of FasterColorSmoothness is in the range of 0-1, but to be useful it should normally be set in the range of 0.01 to 0.1; a value too low will result in the same effect as disabling the grid with TableBasedColor with its performance cost, while a value that's too high will result in no change to the interpolation of all colors. The appropriate value must be determined experimentally for each system.

The internal grid can be disabled using the TableBasedColor system parameter. This would only normally be done in exceptional circumstances such as:

  • Hardware assisted color
  • The use of an ICC Alternate CMM that has its own internal grid. In this case, a decision should be made to determine whether to use the RIP’s image interpolation or whether to use that of the ICC alternate CMM.
JavaScript errors detected

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

If this problem persists, please contact our support.