Doing a speed test will test the connection of your internet. You will get pretty much the same results on your computer as your Xbox (If you could run the same test on Xbox). The Xbox is simply a glorified computer.
The speed test results from a computer do have SOME meaning, although they don't mean as much as people seem to think. If your download/upload speeds are over 1Mbps that's fine, in fact you won't notice a difference between a 1Mbps connection and 100Mbps (With all else being equal.)
The "ping" you get in the test isn't that meaningful. But a ping test that tells you how much jitter/loss your connection has is much more useful.
You seem to think that running a connection/speed test is completely irrelevant because you're not doing the test on the console, but you're wrong.
The information from the those tests are only useful in getting a general understanding of your connection on the pc. they do not really relate to your connection or its quality on the console. And is why the devs always have and always will basically ignore anyone taht tries to use those tests as justification of lag in the game. Because what your pc does and what teh console does is two seperate things. So the resutls would not be the same for both ever. So to try and use one to say what the other is or would be is a false assumption.
All that test does is give a person a basic understanding of their overall possible connection; but the console does not use it the same way.
Yes the console is similar to a pc but it is not a pc in how it uses the information. tcp connection quality which those tests only test mean nothing to a udp only game.
And no the test results would not be the same between tcp and udp in regards to speend and line quality.
A lot of players comer here and think that by throwing up their speedtest or pingtest scores they are proving something about the game. When in all reality you are not proving anything at all. And there is one major reason why. Those tests run by pingtest and speedtest test your tcp connection not your udp connection. This game does not use tcp connections to connect you to other players it uses udp. Tcp has error correction protocols that help adjust for lost packets and jitter and other things that udp does not do. So no matter how well your score or grade is on those tests it really means nothing since those scores are only for your tcp connections which are not used in game play itself.
While I understand and agree with most of the point you are trying to prove, some information you are giving is incorret. UDP is in fact used at pingtest.net to measure packet loss, so it is not a tcp only test.
Plus speedtest means nothing, since your overall bandwdith means nothing, this game does not now or ever use the full bandwidth which is what the speedtest shows you. So does not matter if you have a 100down 50up with a grade of A or anything since that test is only related to your tcp connection quality and not your udp connection quality.
And pingtest in not accurate either, since it once again deals with tcp ping and not udp ping and the two and different. The quailty and stability betweent the two are not the same. So any result that only shows your tcp connection quality really means nothing since the game does not use tcp connections when playing.
Oh one bit of information you need to know too. What those tests show is how well your laptop/desktop is doing and those numbers have no correlation to how well the console does when it connects. Just because your laptop/desktop gets a grade A+ or anything like taht does not mean the console is doing just as good. So once more trying to use those to justify your connection or lag or quality of game is pointless.
While ping test to your closest server means nothing to the game, it just gives a general idea to the player on how reliable their connection could be from A to B. Unfortunately A to B on a ping test or a speed test does not correlates in any way to A to B in the game. People are told, but they still don't get it.
The way your post is written though could get more people confused than really helping them, because some of the misinformation in it. You mention the quality and stability between TCP and UDP and I wonder what exactly are you talking about. You cant really compare the two protocols using that criteria because they have very distinct way of working. So yes, always one will be better than the other, but that is dependable of the application of it. The reason for that is that TCP is a connection oriented protocol while UDP is not.
If you were to make an unrealistic comparison about which one is better for gaming then UDP will win hands up, which is the real reason is used for game traffic, its drawback there is no packet recovery. If you are trying to to say that their 15ms ping does not matter because it is TCP, then technically their UDP ping will receive a faster response.
Both protocols work on the same OSI layer, so unless you messed up something, you should not see any performance deviation between the two. It is not like you can say my UDP is giving me issues but my TCP is perfect, unless you made a change that had an effect on that.
Plus you have to take into consideration if your isp is blocking udp ports or throttleing udp connections which many do with out ever telling you. They do this because udp is the protocol used most often for file sharing through bittorrent applications. So during heavy traffic times they throttle udp connections to limit the affects it has on their overall bandwidth they are trying to support for everyone on their network.
Another little tidbit of information; do you realize that most ips have oversold their conecction quality and bandwidth in most areas and that the isp is actually not capable of properly supporting the demand being playced upon those connections by everyone trying to use them when they do.
Your ISP could be trotthling and blocking ports, a simple test or even a phone call to your ISP will reveal that. Now, telling people that they need to realize that their ISP is over selling is an overstatement. Responsible ISP's have no need for this, they have the money to provide for the infrastructure.
Now lets talk about consoles and the connection and the router. Not everyone that plays this game has their console wired, and yes wireless will add in some lag especially if the router is clear across the house from the console as in many homes. Not everyone has the router in the same room or just one room away. Plus not everyone uses a high quality router that is fully compatable with the xbox and xbl service. And this can and does cause connection quality issues too. Many of the routers sold by most ips are not fully compatable with xbl or the xbox so that will add in lag or other problems. They are only meant for normal internet use and not for gaming. Gaming is not considered normal internet use by most isp's.
If you are wired you should not see a huge difference (one that will create an ocean of lag) between what your ping is on the compter to what it is on the xbox. I mean, if you were to say the xbox was 20 years old and the hardware was outdated to today standards then maybe. Also what is exactly an Xbox compatible router or a gaming router?
Still, like you say, people will never understand some things, and a lot of issues end up being on the end user trying to "optimize" something when they are really messing something up.
I applaud you for your effort to get people to view their internet/connection in a different perspective, You are correct in saying people should not rely on speed/ping tests to boast how good their internet connection is; it is true they are unreliable and can vary depending on the day and/or server you are using. And yea you can kill your host connection by bombing out your xbox by trying to load facebook over and over because you are killing your cpu which leads to killing your connection
But some of the information you provided is not accurate. Such as, you are correct this game is UDP based, but claiming using TCP instead of UDP is incorrect.
- Ping is not UDP or TCP...it is ICMP. TCP/UDP is Layer 4, the transport protocol, which uses ports. ICMP is Layer 3, the network layer, the same layer as IP, it does not use ports.
- UDP is not slower than TCP. Its the other way around when congestion or packet loss is introduced because TCP has the ability to throttle you.
- TCP is a reliable protocol. It uses sequence numbers to keep track of IP packets sent and will request a missing/dropped packet to fill the hole.
- UDP is a non-reliable protocol. It does not care if packets are missing, it will move along. Only way to make this reliable is to run RTP (layer 5 protocol) over UDP. This game does not do that.
- UDP is the preferred protocol used because it is a real time application and the game cannot wait for the retransmission of a missing packet if TCP were used. Even if it were to retransmit, it would be useless information. Think of it as a phone call using VOIP. If packets are lost, audio is lost. Its real time. Refilling that lost audio is pointless.
- Ping IS a great way to test your latency, but only if you are pinging the correct destination such as the host or the hosts gateway address. You don't want to ping your local ping test server because who cares what your latency is 10 miles away. You can view ping like UDP, its unreliable. And its unreliable on purpose because you want to know if you are losing/dropping packets and measure your latency (round trip delay) at the same time. Ping'ing over a long period of time is the way to go and can give a really good overview of your connection to your destination.
- You're xbox live connection is not being throttled because it is UDP. Every xbox live game runs over UDP port 3074. If you are being "throttled', then you have another problem, perhaps too many torrent downloads.
- When not host, this game runs on speeds less than <100kbps down/up. When host in a 12 man game, it requires about 350kbps/250kbps down/up. I know this from my own testing. Internet speeds are most likely not going to be an issue assuming you are not hogging the bandwidth with youtube, netflix, downloads, etc. Having 50Mbps internet is awesome, but its not going to be any better than someone with 1Mbps when it comes to xbox gaming.
The bottom line I have realized about this game is that no matter what you do, you are going to lag when you would not have lagged in previous cod's. It is just the way the game is at the moment. I pull a 4 bar when my ping to the host is 40ms and I get great gameplay, but I pull a solid 3 bar to the host at 80ms and I get every lag complaint in the book during those games. For whatever reason the game believes this difference from 40 to 80ms to be game breaking. Not quite the "half second behind" it makes you feel.
And the funny part is I have been on the crap end of someone being "ahead" of me when I am the host (and I am not assuming I was host). You know, where you die practically before they come around a corner but the killcam shows them seeing you well before you saw them. This is how I know the hole "lag compensation" is for real. There's just no other way to explain it. From a net
Hope some of this helps.
I am extremely tired and in a pretty good amount of pain from my shoulder. Some things may be wrong, excuse me!
UDP is faster than TCP. By much (or anything noticable)? No. I have never looked at any binary or source form of any file that contains to Call of Duty - this is all visually analyzed or guessed.
Sending small, required packets is tricky. Judging "packets" is worse. No game can send a packet saying which direction (or the fact that you're moving) constantly. It's bloating, slow and can stall. What most games will do is do the calculations based on the last packet recieved and will update further if another one is recieved. So, your client is actually calculating what the person is doing based on last "letter" from the player. This can cause issues if not performed correctly (obviously).
The XBOX360 has a limited CPU, I think 3 cores. So, we have 1 core for the XBOX 360, 1 core for the game. We're down to 1 last "string" (obviously you can create more threads, hell, most implementations of IOCP use NumOfProcessors * 2!). There must be more going on, so we can't use an extra thread for this (probably non-blocking sockets they went with). We have 16 players, 15 players are sending packets to one guy and that one guy is sending it to everybody is the only logical implementation plausable for the whole "Host" sitauation. 1 guy, sending hundres of packets, to everybody. It's a time-consuming operation (yes, time is still spent in the drivers!). We have a better view on this, so let's go further! Now you (probably not) understand the whole deal with Host, which causes the issues with the videos from Recent Games (I'm guessing they just rip the packets and write them to the file in Binary).
Floats on the XBOX360 are TERRIBLE! They are time consuming to the max! However, in most 3D games, they are required. This slows down the networking more, since there is quite a bit of D3DXVECTOR3's being processed by the CPU (float x, float y, float z). Now, add more issues, and turn to the players. As you stated, a lot of people use wireless. Correct. There may be more people on the router, which causes even more stress. There ISP may be going through a spot (it happens, especially during the weekends). One more thing to go through. A simple bug can arise from the most simplest things. Hell, I spent a solid week on my game because I was accidently rounding down a float, causing clipping issues. It's a damn mess to review every line you created (well, use a debugger now a days! ), but it's even worse if you use a scripting system.