kyle
kyle4d ago

Debugging stuttering/lag

We just had 10 people in a VR game (all Quest 2 or 3) together in an instance, and it was quite laggy and stuttering. There are a couple of factors we're trying to narrow down, but would appreciate any pointers here, or easy ways to continue stress testing. 1. Server instance was in the Netherlands while we are US west, so our ping was consistently around 120-150ms. I would presume ping is a separate concern from stuttering, but not sure 2. There were ~10 active players in the room. Both voice and avatar movement were stuttering. The game itself didn't seem to be lagging, which maybe means a bottleneck on the Normcore server? If this is potentially the issue, would love to learn how to size up 3. Maybe some combo of 1 and 2? We had people from different geos all together 4. Possibly our own wifi is bad
7 Replies
kapa.ai
kapa.ai4d ago
Hi @kyle. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave: ---------------------- Based on your description, here are some key factors and troubleshooting steps for debugging stuttering/lag in your Normcore-powered VR game: 1. Server Location & Ping
A server located far from your users (e.g., Netherlands for US West players) will increase latency (ping). While ping mainly affects responsiveness (delay between action and result), high latency can also contribute to stuttering, especially for real-time audio and avatar movement. Normcore is designed to minimize latency by placing servers as close to players as possible and leveraging Google’s premium fiber network for faster packet delivery. For best results, ensure your room is hosted in a region geographically close to your users, as server placement has a significant impact on real-time experience Server Placement. 2. Room Size & Server Resources
With 10 active VR players (with voice), you may be hitting the limits of the default/small room server configuration, especially since VR uses much more bandwidth than other game types. Normcore provides different room server sizes (small, medium, large, xlarge), and for VR with voice, the recommended capacity for a small room is 8 players. For 10+ players, consider using a medium or larger room server configuration to avoid server-side bottlenecks Room Server Configurations. 3. Network Quality (WiFi)
Poor WiFi can cause packet loss, jitter, and inconsistent bandwidth, all of which can lead to stuttering in both voice and movement. If possible, test with a wired connection or a high-quality WiFi network to rule out local network issues. 4. Congestion Control
Normcore uses WebRTC, which implements congestion control to automatically adjust the rate of updates based on available bandwidth. If your network is congested, this can slow down updates and cause stuttering. Ensuring sufficient bandwidth and minimizing other heavy network usage on your connection can help WebRTC Congestion Control. 5. Stress Testing
To continue stress testing, try varying the number of players, server region, and room server size. Monitor latency, bandwidth usage, and stuttering under different conditions. This will help you isolate whether the issue is due to server resources, network quality, or geographic latency. Summary of Recommendations: - Host your room in a region close to your users. - Use a larger room server configuration for 10+ VR players with voice. - Test on a stable, high-quality network (preferably wired). - Monitor and adjust for network congestion. If you continue to experience issues after these adjustments, consider reaching out to the Normcore community or support for further assistance. ---------------------- Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: ----------------------
kapa.ai
kapa.ai4d ago
<@401595391549898754> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
maxweisel
maxweisel3d ago
I’m guessing it’s a combo of 1 and 2. Typically 10 VR players + voice chat is the limit for the standard room size right now. An easy test can be to disable audio (mute on RealtimeAvatarVoice isn’t enough). If you remove RealtimeAvatarVoice and performance is good, then you know it’s a message throughput issue. The network profiler can also be useful here too in case there are reliable properties with a large number of changes causing the queues to fill up
maxweisel
maxweisel3d ago
Room Server Options | Normcore Documenation
This API is currently in private beta. If you would like to try it out, shoot us an email to help@normalvr.com with info about your project.
maxweisel
maxweisel3d ago
this API is launching very soon. I expect it will also improve things tremendously, but I will say running a room server in amsterdam but connecting from us-west is going to also introduce a heavy amount of jitter from traversing the internet that far if you can, start with a room server in us-west and see how things change
kyle
kyleOP3d ago
yeah, we asked some of the players, and it seems like the ones closer to the server weren't experiencing choppiness. we'll work on room management then
maxweisel
maxweisel3d ago
sounds good!

Did you find this page helpful?