49 lines
1.4 KiB
Markdown
49 lines
1.4 KiB
Markdown
---
|
||
title: "NetUpdateFrequency"
|
||
type: concept
|
||
tags: ["unreal-engine", "networking", "performance"]
|
||
sources: ["unreal-multiplayer-architect", "unreal-multiplayer-architect"]
|
||
last_updated: 2026-04-30
|
||
---
|
||
|
||
## Aliases
|
||
- 网络更新频率
|
||
- 复制频率
|
||
|
||
## 定义
|
||
`NetUpdateFrequency` 是 UE5 中控制 Actor 复制频率的参数,单位为 Hz(每秒更新次数)。默认 100Hz 通常过高,应按 Actor 类型差异化配置。
|
||
|
||
## 默认值问题
|
||
- 默认 `NetUpdateFrequency = 100Hz` 对大多数 Actor 过高
|
||
- 造成不必要的带宽消耗
|
||
- 服务器 CPU 负担增加
|
||
|
||
## 差异化配置建议
|
||
|
||
| Actor 类型 | NetUpdateFrequency | MinNetUpdateFrequency | 说明 |
|
||
|-----------|-------------------|---------------------|------|
|
||
| 高速投射物 | 100Hz | 33Hz | 精度关键 |
|
||
| 玩家角色 | 30Hz | 15Hz | 平衡流畅与带宽 |
|
||
| NPC 敌人 | 20Hz | 5Hz | 非玩家,可插值 |
|
||
| 环境物体 | 2Hz | 1Hz | 状态极少变化 |
|
||
|
||
## 实现方式
|
||
```cpp
|
||
// 在 Actor 构造函数中设置
|
||
AMyProjectile::AMyProjectile() {
|
||
bReplicates = true;
|
||
NetUpdateFrequency = 100.f;
|
||
MinNetUpdateFrequency = 33.f;
|
||
}
|
||
```
|
||
|
||
## 性能影响
|
||
- 每玩家带宽目标 < 15KB/s
|
||
- 最高玩家数量下测量
|
||
- 使用 Network Profiler 验证
|
||
|
||
## 相关概念
|
||
- [[Actor Replication]] — NetUpdateFrequency 控制复制频率
|
||
- [[Replication Graph]] — 与复制图配合优化
|
||
- [[Server-Authoritative Model]] — 优化不影响权威模型
|