XNetworkingConfigurationSetting
用于 XNetworkingSetConfigurationSetting 或 XNetworkingQueryConfigurationSetting 的设置类型。
语法
enum class XNetworkingConfigurationSetting : uint32_t
{
MaxTitleTcpQueuedReceiveBufferSize = 0,
MaxSystemTcpQueuedReceiveBufferSize = 1,
MaxToolsTcpQueuedReceiveBufferSize = 2,
}
常量
常量 | 说明 |
---|---|
MaxTitleTcpQueuedReceiveBufferSize | 当没有提交可用的用户模式缓冲区时(例如,通过 WSARecv),游戏进程创建的所有 TCP 套接字可以分配给临时排队有效负载的最大内存量(以字节为单位)。 超过此限制的任何到达有效负载都将丢弃,对发送者来说,这就像是必须重试的数据包丢失,具有潜在的延迟和吞吐量影响。 可随时修改数值设置;如果新值低于当前分配的数量,则在游戏读取现有队列接收缓冲区以使总数低于新值之前,将阻止将来的分配。 可以使用 XNetworkingQueryStatistics 并指定 XNetworkingStatisticsType::TitleTcpQueuedReceivedBufferUsage 来确定当前分配的数量。 最小值为 0,这将阻止任何已排队的 TCP 接收缓冲区分配。 最大值是 UINT64_MAX,这不会人为地限制分配(尽管如果游戏分区的实际可用内存不足,分配仍可能失败)。 Xbox 上的默认值为 33,554,432 (32 兆字节)。 电脑上的默认值为 0。 尝试在电脑上配置此参数设置将失败,错误代码为 E_NOTIMPL。 在电脑上检索此设置将始终报告值 0。 |
MaxSystemTcpQueuedReceiveBufferSize | 当尚未提交套接字缓冲区时,系统创建的所有 TCP 套接字可以分配给临时排队有效负载的最大内存量(以字节为单位)。 超过此限制的任何到达有效负载都将丢弃,对发送者来说,这就像是必须重试的数据包丢失,具有潜在的延迟和吞吐量影响。 可随时修改数值设置;如果新值低于当前分配的数量,则在系统读取现有队列接收缓冲区以使总数低于新值之前,将阻止将来的分配。 可以使用 XNetworkingQueryStatistics 并指定 XNetworkingStatisticsType::SystemTcpQueuedReceivedBufferUsage 来确定当前分配的数量。 最小值为 0,这将阻止任何已排队的 TCP 接收缓冲区分配。 最大值是 UINT64_MAX,这不会人为地限制分配(尽管如果系统分区的实际可用内存不足,分配仍可能失败)。 Xbox 上的默认值为 4,194,304 (4 兆字节)。 电脑上的默认值为最大值。 尝试在电脑上配置此参数设置将失败,错误代码为 E_NOTIMPL。 在电脑上检索此设置将始终报告值 0。 |
MaxToolsTcpQueuedReceiveBufferSize | 当尚未提交套接字缓冲区时,开发工具创建的所有 TCP 套接字可以分配给临时排队有效负载的最大内存量(以字节为单位)。 超过此限制的任何到达有效负载都将丢弃,对发送者来说,这就像是必须重试的数据包丢失,具有潜在的延迟和吞吐量影响。 可随时修改数值设置;如果新值低于当前分配的数量,则在开发工具读取现有队列接收缓冲区以使总数低于新值之前,将阻止将来的分配。 可以使用 XNetworkingQueryStatistics 并指定 XNetworkingStatisticsType::ToolsTcpQueuedReceivedBufferUsage 来确定当前分配的数量。 最小值为 0,这将阻止任何已排队的 TCP 接收缓冲区分配。 最大值是 UINT64_MAX,这不会人为地限制分配(尽管如果工具分区的实际可用内存不足,分配仍可能失败)。 Xbox 上的默认值为最大值。 电脑上的默认值为 0。 尝试在电脑上配置此参数设置将失败,错误代码为 E_NOTIMPL。 在电脑上检索此值将始终报告值 0。 |
要求
头文件:XNetworking.h
支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机
另请参阅
XNetworking
XNetworkingSetConfigurationSetting
XNetworkingQueryConfigurationSetting