It was fine before u made the change to lobby so it does not update UI while ingame and only when u switch to the lobby itself...
Even when it "worked as intended" it was clunky as hell... I wanted to kill the lobby and just restart as it was faster than all this jittering replaying which makes u want to scratch ur eyes out
If u wanna save on resources - update in one go instead of lazily replaying network messages u buffered... "pre-render" ur UI changes in memory to compute the final UI state and only then update. And make sure it does not block the lobby after 1 hour clusterfuck game finishes - it's gonna be A LOT of those changes and even pre-rendering in one go may not entirely save the situation here(probably tens of thousands of update state packets)
The best approach probably would be:
- if ingame/alt-tabed(minimized) do not update lobby from network packets - buffer instead
- when buffer size reaches N messages/game quits/maximized - recompute UI state in the memory, clear buffer
- when game quits - update UI in one go from memory state(no replaying)
No feature is better than crappy implemented feature.
Not sure even if we need this... what is the purpose?