Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Geek Culture / Network Processing Unit

Author
Message
Les Horribres
18
Years of Service
User Offline
Joined: 20th Nov 2005
Location: My Name is... Merry
Posted: 23rd Dec 2006 04:55
I recentally came across an advertisment claiming that a NPU is \"essential\" to online gaming and all that crap. Well, besides filling my head with 90% bs on their \"Why an NPU makes you play better\" they fail to actually press what it is actually doing to \'speed up\' the system.

Yes, it is taking a load, that I would imagin to be rather slight, off the system... and since, I believe, that at least 70% of the time when people cry LAG they are experiancing system *, which has to do with the interpretation of the data, rather than network latencyl. This would mean that the speed advancements would come from the NPU translating the packets into usable data, but still, most packets are pretty small and sending simple cordinate data along with a few other tags...

It just doesn\'t seem like that is as signifigant of a game play increase as they claim. The speed increases they claim to have recorded sound very cercumstantial to non-existual. Like an old rumor I heard once about people hacking an X-Box open, adding in a giga-bit ethernet card and reciving such a big speed increase that they were unhittable.

Basically, what does this so called Network Processing Unit do and does it really have any real effect that isn\'t cercumstatial in nature?

If you fear speaking for yourself, make use the words of others while discovering your own voice.
indi
22
Years of Service
User Offline
Joined: 26th Aug 2002
Location: Earth, Brisbane, Australia
Posted: 23rd Dec 2006 08:40
Regardless of what you hear, the slowest person in your game and their machine is going to cause all machines to slow down for them. Something you cant really control.

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 23rd Dec 2006 13:34 Edited at: 23rd Dec 2006 13:35
Quote: "Regardless of what you hear, the slowest person in your game and their machine is going to cause all machines to slow down for them. Something you cant really control."

I'm sure this is just a misconception. True, I do remember hearing of some older games doing this, but not the newer games. It would be stupid for any modern multiplayer game to be programmed like this, because it's very annoying and limits the speed to the slowest player - moreover, it's pointless. So, to recap: Any modern (decent) game will not cap the network speed to the speed of the lowest player. If anyone knows of one that does, I would be interested to hear about it.

Quote: "Basically, what does this so called Network Processing Unit do and does it really have any real effect that isn't cercumstatial in nature?"

If all it does is speed up the processing of network data, you'll probably only get a few milliseconds less latency at best.

Tempest - P2P UDP Multiplayer Plugin (DBP/DBCe)
Download the free version
El Goorf
18
Years of Service
User Offline
Joined: 17th Sep 2006
Location: Uni: Manchester, Home: Dunstable
Posted: 23rd Dec 2006 13:57
Quote: ""Regardless of what you hear, the slowest person in your game and their machine is going to cause all machines to slow down for them. Something you cant really control.""


depends on the game. while it isn't true for fps ie UT04, bf2, etc etc, it is most certainly true for RTS, ie company of heroes, warcraft 3, all very modern games.
indi
22
Years of Service
User Offline
Joined: 26th Aug 2002
Location: Earth, Brisbane, Australia
Posted: 23rd Dec 2006 14:09
sorry guys but the slowest will always slow the others down.
you cant make a 10 base t work any faster then it will physically work.
you cant have faster machines working faster and keep everyone in sync.
Its purely physically impossible.
most network games will compare all machines and work for the slowest so it stays in sync.
the slowest machine on the network will hamper the whole experience.

the_winch
21
Years of Service
User Offline
Joined: 1st Feb 2003
Location: Oxford, UK
Posted: 23rd Dec 2006 14:25
Quote: "you cant have faster machines working faster and keep everyone in sync.
Its purely physically impossible."


Of course you can. If it was impossible fast pace games like FPS and racing games would not work. They need multiple updates per second and that frequently does not happen. Players with poor connections don't reduce the game to 1 fps they just jump around sporadically as their connection occasionally gets a packet through.

By way of demonstration, he emitted a batlike squeak that was indeed bothersome.
indi
22
Years of Service
User Offline
Joined: 26th Aug 2002
Location: Earth, Brisbane, Australia
Posted: 23rd Dec 2006 14:59
In most client / server setups, which DBP appears to be as well as most larger well known commercial titles, the frame rate or frequency of request has bottle neck issues because of the network structure at hand.

The reliance on a single server to manage the game also dictates the speed.

The three main impacts are : number of objects, the size of them and the frequency or frame rate.

If you try to superseed the slowest computers ability to perform this, it wont even sync as suggested, which in itself is what im trying to say, the server finds the slowest computers frequency so it can allow all computers to have a sync rate akin to them all.

Unless you have another method beyond client server like IHHD for decent etc.. that forgoes that method of multiplayer you will have to put up with its problems.

the_winch
21
Years of Service
User Offline
Joined: 1st Feb 2003
Location: Oxford, UK
Posted: 23rd Dec 2006 16:02 Edited at: 23rd Dec 2006 16:04
Quote: "If you try to superseed the slowest computers ability to perform this, it wont even sync as suggested, which in itself is what im trying to say, the server finds the slowest computers frequency so it can allow all computers to have a sync rate akin to them all."


I suggest you play a modern fast paced online game like a racer or fps. What you keep repeating does not happen in any games I have played.
If you can't receive packets from a player fast enough that player alone lags not the whole game. If the lagging player isn't in view you won't even know there is a problem.

From the point of view of a single packet the internet is not very reliable. Packets get lost or arrive out of order all the time. The rate is also far from consistent. One player might be able to send you 6 packets a second one minute then take a whole second just to send 1 packet. Setting the rate of the game to the slowest computer is frequently going to mean the rate is so slow the game is unplayable for everybody.

Then there are malicious users. They will have plenty of fun connecting to a server and limiting the speed of their connection so everything grinds to a halt.

By way of demonstration, he emitted a batlike squeak that was indeed bothersome.
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 23rd Dec 2006 16:04
Quote: "depends on the game. while it isn't true for fps ie UT04, bf2, etc etc, it is most certainly true for RTS, ie company of heroes, warcraft 3, all very modern games."

Good point, I hadn't thought of the games that actually rely on all computers having the same networking refresh rate.

Quote: "sorry guys but the slowest will always slow the others down.
you cant make a 10 base t work any faster then it will physically work."

Regarding LAN games, you may be right, in certain setups.

As for online, it only makes sense that it would happen games of the RTS genre, and similar genres that rely on the idea of it. FPSs would suffer from such a mechanism, which is why I don't believe modern online games of such a genre would use it.

Tempest - P2P UDP Multiplayer Plugin (DBP/DBCe)
Download the free version
indi
22
Years of Service
User Offline
Joined: 26th Aug 2002
Location: Earth, Brisbane, Australia
Posted: 23rd Dec 2006 16:14
there are methods that divide the map area into regions which is what your trying to suggest is in this component.
Quote: "If the lagging player isn't in view you won't even know there is a problem."


These are known as "area of interest filtering" and "delta encoding". etc..

this just reduces the three factors mentioned above, it doesnt change the inherent problems the structure faces. If your still using client / server techniques it still doesnt change the slowest factor.

Im aware of packet loss as well, the principle behind the method wont improve the problems it inherently has, if you change the method instead of client /server, you will get a better performance, but what you have suggested so far doesnt change the factors inherent to C/S.
as mentioned above if you use another method, like combinations of C/S, P2P IHHD etc then you can gain performance, however not with C/S and we are back to the slowest computer and the servers ability to transport the bandwidth.

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 23rd Dec 2006 16:17
Quote: "however not with C/S and we are back to the slowest computer and the servers ability to transport the bandwidth."

I'm not sure why you think the server wouldn't be clever enough to know that it must send at a lesser rate to some clients. And again, I want names of modern face paced (FPS-style) games that do this.

Tempest - P2P UDP Multiplayer Plugin (DBP/DBCe)
Download the free version
the_winch
21
Years of Service
User Offline
Joined: 1st Feb 2003
Location: Oxford, UK
Posted: 23rd Dec 2006 16:32 Edited at: 23rd Dec 2006 16:32
Quote: "there are methods that divide the map area into regions which is what your trying to suggest is in this component.."


No that's not what I am suggesting.
Player A can send 6 packets a second to you.
Player B can send 2 packets a second to you.
It should be obvious that your client can update the position of player A 6 times a second but only update player B 2 times a second.

If player B is visible their movement will be jerky while player A is smooth.
If player B is not visible then all you will see is player A moving smoothly.

Quote: "I'm not sure why you think the server wouldn't be clever enough to know that it must send at a lesser rate to some clients. And again, I want names of modern face paced (FPS-style) games that do this."


I don't see why anyone would build that level of complexion into the server. If it's sending packets too fast they will either.
Get lost in the network before they reach the client.
Be out of date before the client can process them in which case the client can just ignore the out of date packets in favor of fresh ones.

By way of demonstration, he emitted a batlike squeak that was indeed bothersome.
indi
22
Years of Service
User Offline
Joined: 26th Aug 2002
Location: Earth, Brisbane, Australia
Posted: 23rd Dec 2006 16:36
the internet is full of different methods.

Check them out, lets find the fastest most efficient method that we can use for C/S and what is out there that use hybrid systems away from C/S alone.

However you see it, there are flaws to C/S that just cant be avoided like empirical scaling.
The more players can kill the frequency(framerate) by factors of 2/3/4. this really bottlenecks and boggs down.

Server clusters like used with HL/CS, Q2 , Q3, Tribes and Tribes 2 can help but its reserved for larger companies with the cash to implement them.

As a smaller developer your looking for the significant advantage with smaller server deployments.
Immutable objects are fine, its the mutable ones that requires the fastest approach.
writing better "think functions" might be the holy grail for all objects across the players combined with methods described above in regards to isolating moving objects to zones etc..

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 23rd Dec 2006 16:42 Edited at: 23rd Dec 2006 16:48
Quote: "Be out of date before the client can process them in which case the client can just ignore the out of date packets in favor of fresh ones."

Packets will build up before they get to the client machine, and newer packets will become later and later received. I've personally tested it. Although, I may be wrong about the "later and later" part, I just know that a build-up occurs.

I believe what happens is they get built up on the node before the client, and thus the client will start receiving redundant packets, assuming it won't read out of date packets.

Tempest - P2P UDP Multiplayer Plugin (DBP/DBCe)
Download the free version
NeX the Fairly Fast Ferret
19
Years of Service
User Offline
Joined: 10th Apr 2005
Location: The Fifth Plane of Oblivion
Posted: 24th Dec 2006 22:52
Halo's a recent game. And everyone's ping pushes 1500 everytime a 56ker connects.


Since the other one was scaring you guys so much...
Osiris
20
Years of Service
User Offline
Joined: 6th Aug 2004
Location: Robbinsdale, MN
Posted: 25th Dec 2006 18:00
The slowest will slow the others down because the other people must wait for the slowest to return his data...therefore making others slow. Unless its a game like Halo 2 where there is a dedicated host, who is faster than the others because he gathers data and sends it back to the other players.

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 25th Dec 2006 18:29
Quote: "The slowest will slow the others down because the other people must wait for the slowest to return his data...therefore making others slow."

That's a really bad system; which is why it isn't commonly used.

Tempest - P2P UDP Multiplayer Plugin (DBP/DBCe)
Download the free version
Zappo
Valued Member
20
Years of Service
User Offline
Joined: 27th Oct 2004
Location: In the post
Posted: 26th Dec 2006 01:23
The methods I have seen for fast paced games are only slowed to the connection speed of the player acting as the server. They use UDP packets so it doesn't matter if several go astray and if someone is slower than the rest their position appears to jump. As long as the player who hosts the game (i.e. acts as the 'server') has a pretty quick connection then its usually good.
Osiris
20
Years of Service
User Offline
Joined: 6th Aug 2004
Location: Robbinsdale, MN
Posted: 26th Dec 2006 02:32
lol I love being host, because you move faster than everyone else.

Login to post a reply

Server time is: 2024-11-18 01:46:27
Your offset time is: 2024-11-18 01:46:27