HeatStrip

The past load colors of one row of a load list: one pixel column per tick, the newest on the right (monitor-load-color §MHD-6).

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

Detailed description

A one-pixel-high image of kColumns columns in QImage::Format_ARGB32_Premultiplied, which QPainter blends fastest. A tick moves the columns left by memmove and writes the new pixel at the right edge, so a tick costs the same however long the history is.

The image is made at the first column that is not clear, so a row that was idle for its whole life costs no image: a list of 1 000 000 idle rows would need 14 GB of strips otherwise (monitor-load-color §MHT-5). A strip with no image reads as clear everywhere.

The one implementation for ProcessListWidget and HistoryStripListWidget. The CPU heatmap keeps its own image: one row per core in one image.

See also LoadColor, RowLifecycle.

In this section