I know it is conventional wisdom that DirectPlay adds overhead to the connection but I was wondering if anybody had actually verified this? Does anybody know of any hard data to support this? The reason I''m asking is that I am about to evaluate DirectPlay for a project and I don''t want to reinvent the wheel if I can''t help it.
Running a simple chat program (64 bytes of data sent per packet) in a basic sockets implementation versus a directplay implementation, directplay showed a 6-10% network bandwidth overhead according to a packet sniffer. This was run over seven trials, hence the variable overhead number. To make it a more real trial we used a subnet where five guys were playing Quake2, but there was no other traffic.
IDirectPlay::Send was called as unsigned, unencrypted but guaranteed. IDirectPlay::Receive was called with no flags.
DPSESSIONDESC2 structure was create with DPSESSION_CLIENTSERVER, DPSESSION_NODATAMESSAGES, DPSESSION_NOMESSAGEID.
The chat program was run with 10 clients. Each client ran a script that sent 1000 lines of text and joined/left 10 times. Each client computer ran the same script in both DPlay and Winsock. However each client computer ran a different script.