Class UnsafeGenericPool<T>
Generic pool without collection checks. This class is an alternative for the GenericPool for object that allocate memory when they are being compared. It is the case for the CullingResult class from Unity, and because of this in HDRP HDCullingResults generates garbage whenever we use ==, .Equals or ReferenceEquals. This pool doesn't do any of these comparison because we don't check if the stack already contains the element before releasing it.
Namespace: UnityEngine.Rendering
Syntax
public static class UnsafeGenericPool<T>
where T : new()
Type Parameters
Name | Description |
---|---|
T | Type of the objects in the pull. |
Methods
Get()
Get a new object.
Declaration
public static T Get()
Returns
Type | Description |
---|---|
T | A new object from the pool. |
Get(out T)
Get a new PooledObject
Declaration
public static ObjectPool<T>.PooledObject Get(out T value)
Parameters
Type | Name | Description |
---|---|---|
T | value | Output typed object. |
Returns
Type | Description |
---|---|
ObjectPool.PooledObject<> | A new PooledObject. |
Release(T)
Release an object to the pool.
Declaration
public static void Release(T toRelease)
Parameters
Type | Name | Description |
---|---|---|
T | toRelease | Object to release. |