Future Improvements

There are several improvements that can be made to this application, such as:

  • A single, persistent connection could be created by the application. Appropriate error handling would have to be added. This would reduce the overhead associated with connection startup and teardown.
  • The reply code on the server could be optimized to consolidate replies, reducing the number of packets sent from the server.
  • Improvements in the protocol could be made. For example, an update bitmask could be used to signify which cells are to be updated, and only that cell data sent.
  • Updates could be overlapped using different threads, so that the network is not idle while the ComputeNext function is running.

Improving a Slow Application

The Baseline Version: A Very Poor Performing Application

Revision 1: Cleaning up the Obvious

Revision 2: Redesigning for Fewer Connects

Revision 3: Compressed Block Send