aboutsummaryrefslogtreecommitdiff
path: root/ARMeilleure/Common/BitMapPool.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ARMeilleure/Common/BitMapPool.cs')
-rw-r--r--ARMeilleure/Common/BitMapPool.cs24
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
}
}