1. 04 Dec, 2018 10 commits
  2. 03 Dec, 2018 8 commits
  3. 02 Dec, 2018 4 commits
    • Ell's avatar
      buffer: remove cloned tiles with lower probability when trimming cache · 10622d7a
      Ell authored
      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.
    • Ell's avatar
      buffer: add gegl_tile_needs_store() internal function · bf6dd78e
      Ell authored
      ... which determines if a tile will be needs to be stored.  This is
      a slightly stronger condition than ! gegl_tile_is_stored():  a tile
      needs to be stored if it has an associated tile-storage, is
      unstored, and is undamaged.
    • Ell's avatar
      buffer: avoid unnecesarily locking global cache mutex when inserting tile · eac67d7b
      Ell authored
      In gegl_tile_handler_cache_insert(), only call
      gegl_tile_handler_cache_trim() if the cache actually needs to be
      trimmed, i.e., if the total cache size exceeds the maximum.  The
      latter function always acquires the global cache mutex, which is
      wasteful if there is nothing to actually trim.
    • Piotr Drąg's avatar
      Update Polish translation · 580b74e8
      Piotr Drąg authored
  4. 30 Nov, 2018 10 commits
  5. 29 Nov, 2018 7 commits
  6. 28 Nov, 2018 1 commit
    • Ell's avatar
      buffer: damage tile pyramid when voiding uncached base tiles · 9fa211b6
      Ell authored
      In GeglTileHandlerCache, when trying to void a base tile that's not
      present in the cache, go ahead and void the cooresponding area of
      the tile pyramid anyway, since it might include cached mipmapped
      tiles.  In particular, this may happen if the corresponding area of
      the buffer is empty, but mipmapped tiles have been generated for it
      (which doesn't cause corresponding empty base tiles to be created),
      or if the corresponding base tiles have been swapped out.