标签:网络复制
-
复制带宽优化实战:NetUpdateFrequency、量化与热点定位
把带宽当成预算来管:频率、量化、休眠三个杠杆各能省多少,配合 stat net 和 Network Profiler 把花钱的 actor 揪出来。
-
DORM 休眠机制:让静态 actor 的 channel 闭嘴
EDormancy 五档语义的精确区分,DORM_DormantAll/Partial 的唤醒路径,以及 FlushNetDormancy 的正确用法。
-
条件复制与 COND_* 标志位全集:只给该看的人发
COND_* 每个标志位的精确判定逻辑、RepNotify 的服务端/客户端两侧语义差,以及条件过滤在 RepLayout 里的实现位置。
-
CharacterMovement 客户端预测:SavedMove 与服务器校正回放
从 FSavedMove_Character 的打包格式到校正后的未确认移动回放,讲清"为什么会被拽"以及把校正做顺的几个旋钮。
-
网络复制的属性同步协议:FRepLayout 增量序列化全流程
从 DOREPLIFETIME 宏到 Bunch 打包,讲清 UE 属性复制的 ChangeList 增量协议与历史状态机制。
-
复制架构总览:NetDriver/Connection/Channel 三层模型
一个对象从服务端内存到客户端内存要经过哪三层对象:NetDriver 管调度、Connection 管传输、Channel 管对象状态。
-
GameState/PlayerState 的职责边界
多人游戏里一段状态到底放 GameMode、GameState、PlayerState 还是 PlayerController——按"谁需要看到它"划线的判断框架。
-
Push Model 复制:从轮询脏标记到主动推送
Push Model 的脏位图机制、IRepChangedPropertyTracker 的接入方式,以及"忘了 Mark 就静默不同步"这一类 bug 的排查。
-
Iris 复制系统:UE5.3 实验性新协议的架构思路
Iris 用 NetRefHandle 和复制片段(Replication Fragment)重构对象模型,协议层改成 tokenized 状态同步,它到底解决了老系统的什么痛。
-
ReplicationGraph:按空间分桶缓存的相关性计算
ReplicationGraph 的节点缓存模型:相关性从每 tick 每连接全量遍历改为空间分桶 + 增量列表收集。
-
RPC 实现:UFUNCTION(Server/Client) 的调用打包与丢失语义
一次 RPC 从 ProcessEvent 到 bunch 发送的路径,reliable 队列的重传时机,以及参数序列化与 WithValidation 的细节。