PartyManager::SetThreadAffinityMask

Optionally configures the processor on which internal Party library threads run.

Syntax

PartyError SetThreadAffinityMask(  
    PartyThreadId threadId,  
    uint64_t threadAffinityMask  
)  

Parameters

threadId   PartyThreadId

The type of internal Party library thread to configure processor affinity.

threadAffinityMask   uint64_t

The affinity mask for this type of Party library thread.

Return value

PartyError

c_partyErrorSuccess if the call succeeded or an error code otherwise. The human-readable form of the error code can be retrieved via GetErrorMessage().

Remarks

This method enables the title to configure the processor affinity for internal Party library threads of a given type. On Windows, the Audio type affects both the PlayFab Party library owned threads and threads owned by XAudio2. For more information, see PartyThreadId.

For all platforms, except PlayStation®, this method may be called at any time before or after Initialize() and takes effect immediately. On PlayStation®, attempting to set the processor affinity for the PartyThreadId Audio thread after calling Initialize() can result in audio rendering failures. It's currently recommended to call this method prior to calling Initialize().

Thread processor settings are persisted across calls to Cleanup() and Initialize(). When there are more than 64 cores present, this method always applies to processor group 0.

In order to specify any processor, pass c_anyProcessor as the threadAffinityMask parameter. c_anyProcessor is also the default value the Party library uses if this method is never called.

Requirements

Header: Party.h

See also

PartyManager
PartyThreadId
PartyManager::GetThreadAffinityMask