Those of you who have worked in design, both in the field of being an amateur and a professional, will have noticed that the color management of graphic design programs, as well as the representation of it on PC hardware, are different from each other. Whereas in the “real” world the color representation is CMYK on screens it is RGB.
Color representation is one of the most important points for graphic designers in different disciplines. Although in this article we are not going to tell you how to perform color correction in your favorite programs, but how color is managed by the hardware of your PC. Both in terms of the monitor and the graphics card itself and because it differs in that regard from how much we use color in the real world.
CMYK vs. RGB
The acronym CMYK stands for Cyan (Cyan Blue), Magenta, Yellow (Yellow) and Black (Black) and they are the basic colors used in graphic design on paper. On the other hand, the acronym RGB stands for Red (Red), Green (Green) and Blue (Blue) and is used on the screens of different types of devices.
Through these two sets of graphic colors, the rest of the colors in the range are obtained, for example you can obtain RGB colors through concrete mixtures with CMYK and vice versa. Wouldn’t a universal color management system be better then? Yes, in theory it would be better, but we have to take into account that a screen emits light, while CMYK dyes and paints reflect the light of the environment that falls on them. This means that CMYK tints are subtractive, which means that the sum of them tends towards black, while RGB are additive and therefore their sum tends towards white.
With regard to the applications, those that have to generate results to be printed work in the field of CMYK colors, so they have two display systems: one RGB to show the document on the screen as a preview of it and another CMYK that is generated when sending the file to the printer.
The image buffer
When the graphics hardware, be it an integrated or dedicated GPU, generates a frame what it does is write it over the image buffer, which is a section of memory in the VRAM. Nowadays, what we call the double buffer is used, which consists in that while the frame already generated is sent by the screen controller to the monitor, the graphic processor is generating the next frame.
To understand the image buffer, we have to imagine a mat in which each point in it is a pixel that represents a color value, which is obviously an array of colored points. Since VRAM memory is linear, this is not a problem, since we can represent that matrix as a huge vector, where each pixel corresponds to a position in memory and they are all found sequentially. Of course, the value of each pixel is stored in RGB format, which marks the intensity of each of the three channels.
As we have commented before, the RGB format is additive, this affects the graphics hardware when it comes to manipulating the color value of the pixels, since it uses ALU units with the ability to add and multiply when rendering graphics on the screen to real time at high speed. While to generate the same image in CMYK they do not require the same speed and usually do it through a conversion process, using PostScript technology, which is usually carried out by the CPU.
Color space in RGB and CMYK
Before we have told you how it is possible to achieve the basic colors of RGB through combinations in CMYK and vice versa. And we are aware that some graphic designer who has read this will have pulled his hair.
The reality is that in the RGB pixels of a screen we can represent a greater number of colors than using CMYK pigments of a printer. That is why for those who work in multimedia, color management is very important, since a color that is seen on the screen may not be represented as it is in RGB. In order to obtain the exact equivalences, professionals make use of color calibration devices or Pantone cards that allow them to obtain the same color in both spaces.
It must also be clarified that RGB values do not represent the entire color spectrum of reality, but this is rather due to limitations when designing the hardware. It is true that it would be possible to create GPUs with the ability to work with greater precision, but considerable computing power would be lost and for the moment the RGB space that is used is already good enough.
Using CMYK would be counterproductive
Because the screens use RGB and not CMYK, all applications are designed for this way of representing color and this includes the equations to manipulate the color value of each pixel. If suddenly there was a consensus to unify everything under CMYK, the consequences would not only be catastrophic in terms of programs, but with respect to hardware we would suddenly find that four decades of graphic advances would go downhill.
What is an important advance would be to speed up the conversion from CMYK to RGB, especially due to the fact that when we open a PDF file to be able to read it is necessary to convert all pixels of the image to RGB format. If you’ve ever wondered why a lightweight PDF file takes so long to open, it’s because the device’s poor CPU is choking on the conversion.
It is possible that in the future artificial intelligence algorithms will be used to make conversions from CMYK to RGB and vice versa directly and at high speed, which will not only allow us to read PDF at high speed on our computer or tablet, but also speed up the print queue .