Tune the dfps region tracking to collapse to the bounding rectangle if too many small, incremental, updates are provided.
Tune the dfps region tracking to collapse to the bounding rectangle
if too many small, incremental, updates are provided.

Attempting to use x11perf to measure performance revealed a fairly
serious weakness in the dfps code in that use case.  In between
fps ticks, the updated_region would grow to have thousands of
rectangles, which made processing extraordinarily slow.

This patch provides a cap on the number of rectangles inside
a region; once it reaches the cap, we collapse the update_region
to just transmit the bounding rectangle instead.

fgouget/xf86-video-qxl,fgouget/xf86-video-qxl,fgouget/xf86-video-qxl,fgouget/xf86-video-qxl