LoadColor

The color of a load list's row: one scale for every channel, and the mix of the channels by their real size (monitor-load-color §MHD-1 to §MHD-3).

Declared in src/libs/libwidgets/components/visualization/LoadColor.hpp.

Detailed description

A channel has a color and a share. A share of 1 is one full unit: one core's worth for a process. The machine share is the share that means the whole machine: the core count for a process.

  • Up to a share of 1, the channel is its color at an opacity equal to its share.
  • Above 1, it is opaque, and its color moves toward the white end in OKLab by equal steps per doubling. It reaches the white end at the machine share.
  • The channels mix in OKLab, each weighted by its unclamped share, so the larger load sets the hue. The opacity is the largest share, at most 1.
  • A share that is not a number is a gap: the pixel is the no-data color, never the coldest value.

The white end is the owner's: it resolves white through its palette, so the mix slider tints the top of the scale too (§MHD-1, R4).

Each channel keeps a table of 256 OKLab steps from its color to the white end (§MHD-3). The table is made again when a channel color or the white end changes, never on a tick. The machine share sets only the divisor of the step. So a tick costs one log2 per channel above one full share and no other transcendental call: the sRGB conversion back is a lookup too.

Pure: no widget and no painter.

The colors of a chart series come from ChartColorPalette.

See also HistoryStripListWidget, ProcessListWidget.

In this section