이대로라면 3 × 4 = 12바이트를 써야 RoboCat의 mPosition을 네트워크로 전송할 수 있다. 하지만 이 코드는 고양이가 대부분의 경우 지면에 붙어있을 가능성이 크다는 지식을 활용하지 못하고 있다. 무슨 말이냐면 3D 벡터 mPosition의 Y 좌표가 보통은 0이라는 사실이다. 코드를 고치면 비트 하나에 mPosition이 보통의 값인 0인지, 아니면 다른 값인지 표시할 수 있다.
void OutputMemoryBitStream::WritePos(const Vector3& inVector) { Write(inVector.mX); Write(inVector.mZ); if (inVector.mY == 0) { Write(true); } else { Write(false); Write(inVector.mY); } }