PartyThreadId

内部处理任务的高级分类。

语法

enum class PartyThreadId    
{  
    Audio = 0,  
    Networking = 1,  
}  

常量

常量 说明
音频 代表与音频相关的内部处理任务。
网络 代表与网络相关的内部处理任务。

备注

PartyManager::GetWorkMode()PartyManager::SetWorkMode() 一起使用时,允许游戏分别读取和写入与内部处理任务关联的工作模式。 游戏与内部处理任务的交互根据当前配置的工作模式有很大不同。

当 PartyThreadId::Audio 工作模式设置为 PartyWorkMode::Automatic 时,Party 库使用具有实时要求的内部管理、高优先级以及频繁运行的线程执行任务。 在 Windows 和 Xbox 主机上,这些音频线程每 40 毫秒直接与 XAudio2 交互一次。 XAudio2 的 Party 库实例使用处理器关联进行初始化,该处理器关联与通过 PartyManager::SetThreadAffinityMask() 为 PartyThreadId::Audio 配置的处理器关联相对应。 如果没有为此音频线程类型指定处理器关联,XAudio2 的实例使用 XAUDIO2_DEFAULT_PROCESSOR 的处理器关联进行初始化。|

当 PartyThreadId::Networking 工作模式设置为 PartyWorkMode::Automatic 时,在内部创建和管理网络线程。 这些线程由网络 I/O 和轮询机制驱动,每 16 毫秒到 100 毫秒或只要接收到网络流量就会唤醒一次。 这些 PartyThreadId::Networking 线程的处理器关联通过 PartyManager::SetThreadAffinityMask() 进行可选配置。

对于任何工作模式设置为 PartyWorkMode::Manual 的 PartyThreadId 类型,Party 库不创建内部工作线程,而是游戏负责通过定期调用 PartyManager::DoWork() 来执行所需处理。 这些游戏调用的周期性应匹配或超过工作模式为 PartyWorkMode::Automatic 时内部线程使用的最小轮询频率。

要求

标题: Party.h

另请参阅

群成员
PartyManager::GetThreadAffinityMask
PartyManager::SetThreadAffinityMask
PartyManager::SetWorkMode
PartyManager::GetWorkMode
PartyManager::DoWork