As many of you may know, Mythruna object movement doesn’t always do so well over poor connections. Even over really good connections there can be some serious lag. Part of this is because some original temporary systems (which performed 100 times better than expected) have outlived their original usefulness.
Physics threatens to overwhelm all of that and so I’ve started implementing a more efficient object sync. To gather information on limitations and to test and benchmark basic performance, I’ve created a network test to exercise the core components.
You can download the test here and there are instructions on how to run it there.
I would really appreciate it if any of you can download it and run it for a few minutes. If you also follow up with information about how smooth (or not) that it runs then that would be greatly appreciated. There are more details on that page.
I could see your stats coming through on the server. So far half the users have had 1.5 to 2 second ping times and only 25%-50% messages coming through. The others have perfect connections.
The server collects data on what your throughput and ping times are, etc… The screen shots are good because they roughly let me correlate results to you and give you nice pictures to look at.
@iamcreasy for example, I can see that you were losing about 60% of your packets and only had a 300 ms round trip ping. What I’m interested in from your perspective were the bouncing cubes still running smoothly or did the whole scene pause and jerk a lot?
I know I can run with 50% packet loss and not even notice, visually… and that 75% loss is definitely noticeable.
The biggest concern is how high the ping is for some of you. I see a lot of 2 second ping times in the logs and that’s going to be problematic for me.
Hm do you send via udp? If so what is the maximum packetsize you send? And how much packages per second? Especially the alter was a serious problem I encounterd, since some homerouters start to cripple very fast with many small udp packets, or few very large. (Same for TCP no delay btw)
EmpirePhoenix said:
Hm do you send via udp? If so what is the maximum packetsize you send? And how much packages per second? Especially the alter was a serious problem I encounterd, since some homerouters start to cripple very fast with many small udp packets, or few very large. (Same for TCP no delay btw)
These are UDP packets and the test keeps them small enough that they should fit in a 1500 MTU. (80 state updates at 17 bytes each.) One thing a future test will try is varying the message sizes based on performance.
Right now I'm sending 60 messages per second. I knew this would blow out some connections but I was curious to see how much since I have no measurable data on the issue with respect to the mythruna server. And I'm curious how much packet loss has to occur before the visualization becomes unwatchable.
glaucomardano said:
What do u mean about it? Does It compromise the server :( ?
No, it doesn't compromise the server. It makes my design harder. If I want to support large ping times then I have to do a lot more client side prediction... and the further physics gets implemented the harder accurate client side prediction is.
Just ran a test at 3:17pm (CST). I can send my IP if you want.
I received pretty consistent lag (about every 10secs) when i first connected. Then after that about every 20-30seconds. My connection meter showed the consistency of the drops, but when i went to take a screen shot, i forgot that i had to press f2 for the screenie. Haha. I’ll re-run the test and see if I can get the same pattern again.
Thanks for trying. The last few connections I’ve seen have been really good, actually. 50 ms pings, etc… good stuff. So I may not have been watching when you connected.
The connection was pretty close to my last test, although this time I did seem to notice more lag spikes. My ping has been hanging around 52ms (Alabama), but during the spikes it jumps to around 167ms or so.