【发布时间】:2021-08-08 07:57:24
【问题描述】:
我正在开发一个使用 Angular 构建的网络游戏,使用 WebSockets 与后端通信。到目前为止,我已经决定客户端根据需要发送“事件”,而服务器每秒发送 10 次左右的“状态”。
在客户端,这是由组件可以使用的 ConnectionService 处理的。该服务公开了一个“sendEvent”方法和一个以 10hz 左右更新的 gameState 对象。
这已经很好地工作了 - 但是随着来自服务器的状态树的增长,我想知道如何以可扩展的方式处理这些数据。以下是我希望能够解决的一些问题/用例:
-
不要每秒重新渲染所有内容 10 次。目前我做了一个天真的“this.gameState = newState”。我可能可以对键进行深度迭代并改变状态?这样做明智吗?
-
更容易说“当 gameState.pilot.switches[5] 发生变化时,做 X”。我希望能够听到状态变化的一个子集。
这里需要 rxjs 吗?
【问题讨论】: