One of the major performance bottlenecks was that entries were being processed even when the log was not really visible.
Applied other rules for avoiding excessive work, for instance pausing the incoming messages for a while to allow the scrolling to catch up.
Todo for later: There is still room for improvement; at no point should the log remain blank for significant periods of time... Also should rethink strategic points when the clear the entire atlas and/or trigger a (cheap) defragmentation. The pausing should also be unnecessary if one could "look ahead" and see that the entire set of visible entries will not be needed any more, just clear everything before starting an update. Currently the individual allocations are released one by one.
Performance|libappfw|LogWidget: Improved/faster log entry processing
One of the major performance bottlenecks was that entries were being
processed even when the log was not really visible.
Applied other rules for avoiding excessive work, for instance pausing
the incoming messages for a while to allow the scrolling to catch up.
Todo for later: There is still room for improvement; at no point
should the log remain blank for significant periods of time... Also
should rethink strategic points when the clear the entire atlas and/or
trigger a (cheap) defragmentation. The pausing should also be
unnecessary if one could "look ahead" and see that the entire set of
visible entries will not be needed any more, just clear everything
before starting an update. Currently the individual allocations are
released one by one.