Navigation
Unreal Engine C++ API Reference > Runtime > Chaos > Chaos > Framework
Inheritance Hierarchy
- IBufferResource
- FGuardedTripleBuffer
References
Module | Chaos |
Header | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/Framework/MultiBufferResource.h |
Include | #include "Chaos/Framework/MultiBufferResource.h" |
Syntax
template<typename ResourceType>
class FGuardedTripleBuffer : public Chaos::IBufferResource< ResourceType >
Remarks
Triple buffer based on a single atomic variable, that guards against the consumer thread using old values.
Not thread-safe, requires external locks.
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
This class implements a circular buffer access pattern, such that during normal serial operation each buffer will be used. |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
const ResourceType * | Get access to the currently held consumer buffer, ignoring whether it's already been consumed. |
Overridden from IBufferResource
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
ResourceType * | Get the current producer buffer for writing. | |
![]() ![]() |
void | FlipProducer () |
Make the current producer buffer available to the consumer thread. |
![]() ![]() |
EMultiBufferMode | ||
![]() ![]() ![]() |
const ResourceType * | Get an updated buffer for the consuming thread to read from. | |
![]() ![]() |
ResourceType * | NOTE: these changes may not make it to producer side, it is meant for resource management not to pass information back. | |
![]() ![]() ![]() |
const ResourceType * | Get the current producer buffer. |