Open 3D Engine AzCore API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::IO::BlockCacheConfig Struct Referencefinal

Inherits AZ::IO::IStreamerStackConfig.

Public Types

enum  BlockSize : u32 { MaxTransfer = AZStd::numeric_limits<u32>::max() , MemoryAlignment = MaxTransfer - 1 , SizeAlignment = MemoryAlignment - 1 }
 

Public Member Functions

 AZ_RTTI (AZ::IO::BlockCacheConfig, "{70120525-88A4-40B6-A75B-BAA7E8FD77F3}", IStreamerStackConfig)
 
 AZ_CLASS_ALLOCATOR (BlockCacheConfig, AZ::SystemAllocator)
 
AZStd::shared_ptr< StreamStackEntryAddStreamStackEntry (const HardwareInformation &hardware, AZStd::shared_ptr< StreamStackEntry > parent) override
 
- Public Member Functions inherited from AZ::IO::IStreamerStackConfig
 AZ_RTTI (AZ::IO::IStreamerStackConfig, "{97266736-E55E-4BF4-9E4A-9D5A9FF4D230}")
 
 AZ_CLASS_ALLOCATOR (IStreamerStackConfig, SystemAllocator)
 
virtual AZStd::shared_ptr< StreamStackEntryAddStreamStackEntry (const HardwareInformation &hardware, AZStd::shared_ptr< StreamStackEntry > parent)=0
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *context)
 
- Static Public Member Functions inherited from AZ::IO::IStreamerStackConfig
static void Reflect (ReflectContext *context)
 

Public Attributes

u32 m_cacheSizeMib { 8 }
 The overall size of the cache in megabytes.
 
BlockSize m_blockSize { BlockSize::MemoryAlignment }
 The size of the individual blocks inside the cache.
 

Member Enumeration Documentation

◆ BlockSize

Dynamic options for the blocks size. It's possible to set static sizes or use the names from this enum to have AZ::IO::Streamer automatically fill in the sizes. Fixed sizes are set through the Settings Registry with "BlockSize": 524288, while dynamic values are set like "BlockSize": "MemoryAlignment". In the latter case AZ::IO::Streamer will use the available hardware information and fill in the actual value.

Enumerator
MaxTransfer 

The largest possible block size.

MemoryAlignment 

The size of the minimal memory requirement of the storage device.

SizeAlignment 

The minimal read size required by the storage device.

Member Function Documentation

◆ AddStreamStackEntry()

AZStd::shared_ptr< StreamStackEntry > AZ::IO::BlockCacheConfig::AddStreamStackEntry ( const HardwareInformation hardware,
AZStd::shared_ptr< StreamStackEntry parent 
)
overridevirtual

The documentation for this struct was generated from the following file: