Jump to content

Netcode Efficiency


True

Recommended Posts

Posted

I have recently checked to see just how much data is sent and received for MTA:VC. I have noticed a trend of tons of data being received - 12k/sec on my 56k connection - with very little being sent. Not that a lot needs to be sent, but 12k on a 56k connection? That probably shows quite a bit of inefficiency.

I will work on my local proxy today and tomorrow, and see if I can make it go longer without a disconnection, but if you dont mind maybe I could suggest some things you could do to make information transfer more efficient. Must be a lot of raw text that could be sent only as a few bytes of info...

Just thought I would share.

...to all those who have doubted me...come see me now...

Asus A7N8X Deluxe r2.00 / UBER 1007 BIOS Modified

AthlonXP 2100+ (1.73ghz) @ 200x11.5 (2.30ghz, ~3000-3200+) 1.85vcore (48c/load diode), SLK-800w/TTSFII

512mb PC3200 DualChannel 11-3-3-2, 2.7vdimm

GFFX5200128bit128MB (295/432)

52x32x52CDRW, 160gb Hitachi 7K250 8mb

WinXP / Gentoo

Dell Inspiron 8000 in good shape, Compaq Presario 1200 12XL500 rigged to all hell

8000: DVD, CDRW, 384mb, 5400rpm 60gb 16mb cache, 1400x1050 15"

1200: CD, 192mb, 20gb, 1024x768 14"

At least 6 hours battery time with both Dell C Bays ;], 175w DC to AC car inverter

MSI CB54G Cardbus 802.11g, Dell Truemobile 1150 Orinoco Gold 802.11b, modded Tripmate GPS (always on/external power)

Custom Spaghettios 26oz Waveguide Directional Tin Can Antenna

Don't forget to chalk..

Posted

How on earth is your 56k modem doing 12k/sec? that's like physically impossible...

let's do some maths:

your modem does 56kilobits. Turn that into bits/sec:

56k=56000 BITS

turn that into bytes/sec:

56000/8 = 7000 BYTES

turn that into KiloBytes/sec:

7000/1024 = 6.84 KBYTES/sec

That is how fast 56k modems are... 6.8KB/sec... 12k WTF?

but yes MTAVC does use a good amount of bandwidth...

How can you have such nice specs for a computer and have a 56k and expect to not get disconnected?

I look like a cop...

You may think [PiG] are gone. You may think I'm dead.

We're not. We're just undercover...

PigPonch.gif

Posted

rest assured nothing is being sent plain text that could otherwise be sent as binary data...

and think about it this way your uploading 1.5 k/sec

the server then sends that out to everyone else...so yeah upload isn't high, but your getting 1.5/sec per player (approx).. we have taken measures to cut this down, but it will be a while till we can get this finely tuned

Kent

mtateam5fq.png

Kent Simon's Amazing Cross Language Hello World Program!!

#include #define print printf#define caller void main(){#define ref }caller ;print ("Hello World!\n");ref;
 
Posted

I get high rates by something called Compression which shows some optimization could be taken on the data from MTA:VC.

Of course, as I haven't taken any part in coding or understanding I haven't quite seen what has been done, but have noticed some extra whitespace that could be removed, etc. (just a little bit of peeking)

Also my latter figures were wrong, the new meter shows actual kb/s instead of rounded kb/s for the whole sessions (silly me). Nevertheless I have hit a solid 10k for a while in a huge server.

My upload is relatively low, around 1k or so. I thought it was higher (like you said, 1.5k)? I can do hardcore stuff and it barely peaks above that... just wondering.

I also dont get disconected while playing normally, only with my inefficient proxy :) Remember, its udp data, and even locally high transfer rates will cause packet shifting/loss which can cause my disconnection - passing from client to intermediate program to server to intermediate program to client is an extra 2 things that shouldn't normally be there (intermediate program *2), if its busy doing one step it might not be able to do the other in time (unless I run them both on different threads... :)) I have 56k because I am in foster care and barely have a job that makes money right now, as soon as I get out I will be on broadband. I am hardly at home so having broadband here is no concern at the moment, I have it at work.

...to all those who have doubted me...come see me now...

Asus A7N8X Deluxe r2.00 / UBER 1007 BIOS Modified

AthlonXP 2100+ (1.73ghz) @ 200x11.5 (2.30ghz, ~3000-3200+) 1.85vcore (48c/load diode), SLK-800w/TTSFII

512mb PC3200 DualChannel 11-3-3-2, 2.7vdimm

GFFX5200128bit128MB (295/432)

52x32x52CDRW, 160gb Hitachi 7K250 8mb

WinXP / Gentoo

Dell Inspiron 8000 in good shape, Compaq Presario 1200 12XL500 rigged to all hell

8000: DVD, CDRW, 384mb, 5400rpm 60gb 16mb cache, 1400x1050 15"

1200: CD, 192mb, 20gb, 1024x768 14"

At least 6 hours battery time with both Dell C Bays ;], 175w DC to AC car inverter

MSI CB54G Cardbus 802.11g, Dell Truemobile 1150 Orinoco Gold 802.11b, modded Tripmate GPS (always on/external power)

Custom Spaghettios 26oz Waveguide Directional Tin Can Antenna

Don't forget to chalk..

Posted

we aren't going to look into compression until we have the basic methodology of our netcode complete.. and at that point compression probably wont be an option, considering the packet sizes are small to begin with..

as far as "whitespace" goes im not sure i follow... whitespace meaning the space character?? that may appear only in chat data, and as far as netcode goes, its not really an issue, as its not occuring every 50ms...

As for redundant data, i'd check your peeking again :-P all that data is raw binary data, and its all relative to gameplay :-P

Kent

mtateam5fq.png

Kent Simon's Amazing Cross Language Hello World Program!!

#include #define print printf#define caller void main(){#define ref }caller ;print ("Hello World!\n");ref;
 
Posted

I am talking about modem compression, but regarding your own compression, I understand.

Whitespace is in regards to extra spaces not required, ie. extra newlines. I just thought I saw this, but I dont know - i'll check sometime soon :)

And yes, I see everything is relative to gameplay, but I mean when a character is standing still and sending data about their position even when they aren't moving, etc. I am pretty sure you all know about this already, and I can guess it isn't your major concern to make the netcode efficient until, as you said, you get an idea of where your protocol is going to stay.

...to all those who have doubted me...come see me now...

Asus A7N8X Deluxe r2.00 / UBER 1007 BIOS Modified

AthlonXP 2100+ (1.73ghz) @ 200x11.5 (2.30ghz, ~3000-3200+) 1.85vcore (48c/load diode), SLK-800w/TTSFII

512mb PC3200 DualChannel 11-3-3-2, 2.7vdimm

GFFX5200128bit128MB (295/432)

52x32x52CDRW, 160gb Hitachi 7K250 8mb

WinXP / Gentoo

Dell Inspiron 8000 in good shape, Compaq Presario 1200 12XL500 rigged to all hell

8000: DVD, CDRW, 384mb, 5400rpm 60gb 16mb cache, 1400x1050 15"

1200: CD, 192mb, 20gb, 1024x768 14"

At least 6 hours battery time with both Dell C Bays ;], 175w DC to AC car inverter

MSI CB54G Cardbus 802.11g, Dell Truemobile 1150 Orinoco Gold 802.11b, modded Tripmate GPS (always on/external power)

Custom Spaghettios 26oz Waveguide Directional Tin Can Antenna

Don't forget to chalk..

Posted

thats not hwo the packets are working :-P

we don't send the position every time, we only send data about the player that has changed since the last send

Kent

mtateam5fq.png

Kent Simon's Amazing Cross Language Hello World Program!!

#include #define print printf#define caller void main(){#define ref }caller ;print ("Hello World!\n");ref;
 
Posted

really? hm :) like I said, i'll hafta take a look, I dont know anything about it, just a quick observation :)

...to all those who have doubted me...come see me now...

Asus A7N8X Deluxe r2.00 / UBER 1007 BIOS Modified

AthlonXP 2100+ (1.73ghz) @ 200x11.5 (2.30ghz, ~3000-3200+) 1.85vcore (48c/load diode), SLK-800w/TTSFII

512mb PC3200 DualChannel 11-3-3-2, 2.7vdimm

GFFX5200128bit128MB (295/432)

52x32x52CDRW, 160gb Hitachi 7K250 8mb

WinXP / Gentoo

Dell Inspiron 8000 in good shape, Compaq Presario 1200 12XL500 rigged to all hell

8000: DVD, CDRW, 384mb, 5400rpm 60gb 16mb cache, 1400x1050 15"

1200: CD, 192mb, 20gb, 1024x768 14"

At least 6 hours battery time with both Dell C Bays ;], 175w DC to AC car inverter

MSI CB54G Cardbus 802.11g, Dell Truemobile 1150 Orinoco Gold 802.11b, modded Tripmate GPS (always on/external power)

Custom Spaghettios 26oz Waveguide Directional Tin Can Antenna

Don't forget to chalk..

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...