The performance of the icon grid was being hindered by a large number of primitives (a few hundred) being copied from the CPU to the GPU on each frame. This was first noticed in mutter#971 (closed) but we failed to investigate all the issues at the time.
You can also see the high number using
COGL_DEBUG=disable-texturing. So now it's obvious that high number is
every letter of every label being uploaded as a separate quad. Let's not
do that and instead treat the whole label as a single quad/texture.
Measured performance on an i7-7700 at UHD 3840x2160:
Journal entries per frame on the icon grid:
Scrolling the icon grid: