diff options
Diffstat (limited to 'ARMeilleure/Common/BitMapPool.cs')
| -rw-r--r-- | ARMeilleure/Common/BitMapPool.cs | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/ARMeilleure/Common/BitMapPool.cs b/ARMeilleure/Common/BitMapPool.cs index aac32d55..d8d297fa 100644 --- a/ARMeilleure/Common/BitMapPool.cs +++ b/ARMeilleure/Common/BitMapPool.cs @@ -4,15 +4,29 @@ { public static BitMap Allocate(int initialCapacity) { - BitMap result = ThreadStaticPool<BitMap>.Instance.Allocate(); - result.Reset(initialCapacity); + return BitMap().Reset(initialCapacity); + } + + #region "ThreadStaticPool" + public static void PrepareBitMapPool(int groupId = 0) + { + ThreadStaticPool<BitMap>.PreparePool(groupId, ChunkSizeLimit.Small); + } - return result; + private static BitMap BitMap() + { + return ThreadStaticPool<BitMap>.Instance.Allocate(); + } + + public static void ResetBitMapPool(int groupId = 0) + { + ThreadStaticPool<BitMap>.ResetPool(groupId); } - public static void Release() + public static void DisposeBitMapPools() { - ThreadStaticPool<BitMap>.Instance.Clear(); + ThreadStaticPool<BitMap>.DisposePools(); } + #endregion } } |
