Websocket de dediğiniz gibi arkaplanda TCP kullanıyor. Ek maliyet olarak gönderilen mesajların JSON formatına çevrilip çözülmesi var. Bu biraz cpu yiyen bir işlem mobil için oyun geliştiriyorsanız göz önüne almanız gerebilir. TCP'de bu kısmı da kendiniz yapıyorsunuz. Json ile göndermektense kendi formatınızı bytearray olarak göndererek hem cpu maliyetini hem de hat kullanımını azaltabilirsiniz.
Lag sizin için çok önemliyse TCP yerine UDP kullanmayı da düşünebilirsiniz. TCP'de paketlerin sıralı gönderilmesi, kaybolan paketin tekrar gönderilmesi gibi konular laga sebep olabiliyor. Bu kontroller sizin için gereksizse ya da kendiniz yapmayı göze alabiliyorsanız UDP daha mantıklı olabilir.