3 ms·
I don't think it's literally TCP, but you're right that it's very much TCP-like behavior. I kept having stuttering in PoE, and eventually realized that NetworkM
by nearlyepic 4y ago
I don't think it's literally TCP, but you're right that it's very much TCP-like behavior. I kept having stuttering in PoE, and eventually realized that NetworkManager was doing wifi channel scans way more often than it should be! Genuinely useful as a tool for diagnosing network conditions.
- spmurrayzzz 4y agoPoE oddly enough does use TCP for all of its netcode, its somewhat unique in this way compared to similar titles. I know they use a few different outgoing ports so its possible they deal with head-of-line blocking issues with parallel streams (not sure about that, just conjecture).
- NelsonMinar 4y agoIt's literally TCP, I was looking at packet dumps yesterday. I was surprised! ENet is common for this kind of game.
- nearlyepic 4y agoWow!! I wouldn't have imagined they could have gotten tolerable latency while using TCP. Cool!
- convolvatron 4y agothere isn't much difference in the happy path. the problem comes when you lose a packet and have to recover. so that's at least one additional round trip.
- pengaru 4y agoTCP_NODELAY to the rescue https://en.wikipedia.org/wiki/Nagle%27s_algorithm#Operating_systems_implementation https://en.wikipedia.org/wiki/Nagle%27s_algorithm#Operating_...
- monocasa 4y agoHead of line blocking is still an issue even after disabling Nagle's algorithm as ideally you don't want the lack of reception of older data in the stream delaying newer updates. Sometimes it's better to simply blast out all unacked state, and if intermediary packets get occasionally lost, it doesn't really matter. You can see this in live audio/video as well. If you missed your window you don't want the media data that's already arriving too late to actually play delaying the reception of newer data in the stream.