0940Anonymous (オイコラミネオ MM3b-/ueO [150.66.81.21])
2023/01/11(水) 09:49:24.62ID:XXJJD5xMMいままではUDPで通信してたのがTCPになった。
UDPの方が高速にやり取りできるんだけど
パケロスがたくさん起きる状況だとキャラがワープしたりフェーズがぶっ飛んだりする。
TCPはクライアントにデータが届いてるか確認して、届いてなかったら
再送リクエストする。この確認分TCPの方が遅い。
そこでFF開発チームは遅延を減らすためにデータを圧縮して送ることにした。
問題はこの圧縮方式で、増分を利用するために圧縮されたデータを正しく展開するには
それまでに通信されたデータ全てが必要となる。
14のクライアント側はどれが再送されたデータなのかもちろんわかる。自分でリクエストしてるんだから。
ACT側にはそれがわからない。今送られたのは新しいデータなのか、パケロスが生じたための
再送なのかがわからん。するとこれ以降データが展開できなくなる。
つまり再送が生じた瞬間それ以降ACTは動かない。
14を終了させACTも再起動させないといけない。ところがもしまたパケロスが生じれば
また2つとも再起動が必要になる。
今はそこをなんとかできないか検討中だがいいアイディアは出ていない。