buffer: remove cloned tiles with lower probability when trimming cache
A set of n cloned tiles is counted only once toward the total cache size, so each inidividual tile can be thought of as contributing only 1/n of its size to the total cache size. On the other hand, the cost of stroing a tile is independent of the number of clones it has. When trimming the cache, remove an unstored tile with n cached clones with a probability of 1/n, instead of 1, to avoid saturating the swap queue with cloned tiles, causing stalls.
Showing with 17 additions and 2 deletions