Troubleshooting Lag, Latency and Quality Issues

The quality and performance of a Parsec stream is very dependent on the network and hardware of the host and the people joining the stream. This article goes over checking Parsec's latency info and console log for information on why the stream is performing poorly, and some tips to fix it depending on what Parsec shows.

 

Checking latencies

Put a very visually active game or video on the host, then press Ctrl+Shift+M on the guest to see the information below.

overlay_demonstration.png

Decode (guest) and Encode (host) is the time the device takes to handle a single frame. High numbers can mean major issues to the stream. When streaming 60fps, you don't want to go above 15ms. At 30fps the threshold is 32ms.

What to do if the decode or encode latencies are too high?

In general, lowering the resolution and FPS of the host will reduce the latency. Resolution is usually changed through Windows but sometimes also in-game, and the connected guests can see the current resolution next to the latencies in the overlay. However, you should also keep in mind the following things:

  • If the guest is joining via the browser, you may notice Decode says N/A. The web client does not have access to low-level hardware optimizations or hardware decoding, if you're having issues with the web app, you should download the native app for your system
  • If the guest's overlay says Software H.264 next to the latencies, Parsec isn't using the hardware decoder which results in much worse decoder latency. There's a setting in the overlay itself and Parsec's settings to change the decoder to something else, but if the guest's hardware is too old, they might be unable to use a hardware decoder at all. In that case you'll want to lower the resolution and FPS on the host to compensate for it
  • If the host has an AMD card, AMD is usually known for having worse encode than NVIDIA and even Intel. You should be fine at low resolutions. If all guests support H.265 and have it turned on, you may see better performance than with it off
  • In case of high encode latency, you may see a difference from tweaking between fullscreen and windowed, or windowed borderless. Some Vulkan games' windowed borderless mode still act just like fullscreen, so make sure to try the actual windowed mode
  • If the host happens to have experimented around with advanced settings in Settings > Host > Edit the configuration file, remove them and restart Parsec. They can easily worsen the experience if not carefully configured
  • Some Intel users on Linux have worse decoder performance than usual with the iHD drivers. If you're a guest using Intel on Linux, run export LIBVA_DRIVER_NAME=i965 in the terminal and then run parsecd, and check if decoder performance is better
  • If the host has a G-Sync monitor, try to disable G-Sync and check if the encode latency improves
  • Generally keep in mind your computer's power saving options. Windows, Intel, NVIDIA and AMD all tend to have their own settings for saving battery on laptops that can impact the stream. In some cases you may want to plug in a cable for your laptop to perform the best
  • Hosts on NVIDIA may get better encode latency by setting Parsec to maximum performance in the NVIDIA Control Panel. Make sure to restart the computer to properly apply the change
  • (For paid users) Having 4:4:4 color accuracy activated may increase the load considerably in some cases. Turn off 4:4:4 and check if the stream has improved. Check the guest requirements section here for more info

Network is the ping between the guest and host. The more latency you have, the more time it takes for you to press a button and see it on the host. Below 30ms is good, and below 60ms is still fine for most people. If this number is constantly varying a lot, it's also a sign the connection isn't reliable.

What to do if the network latency is too high?
  • Both sides should use an Ethernet cable or ensure you're using 5ghz Wi-Fi. Avoid signal boosters, Ethernet over power line or mesh Wi-Fi systems. Move closer to your Wi-Fi if possible. If you're using Wi-Fi and you can at least test an ethernet cable for a moment, try it out and see if your situation improves
  • VPNs can introduce additional latency and should be avoided if possible
  • You may be physically too far away from each other. Parsec unfortunately isn't able to break the laws of physics yet
  • If you're not physically too far away, the route being taken by your connections may be currently poor. This is unfortunately basically out of your control. Or, either side's connection may be poor in other ways that are covered in the network reliability part of this article, below. Note that Parsec is peer-to-peer, so your connection isn't going through Parsec's servers, it's entirely up to the guest and host's connection

 

Checking network reliability

Don't disregard this if you think your internet is fine. To check, host a session via desktop sharing (not Arcade). Put a very visually active game or video on the host for a few minutes, then access the console on the host and look at the N:0/0/0 numbers.

console_log_example.png

Ideally this should be very close to 0/0/0. If the numbers are incrementing by hundreds in minutes, the connection between the guest and host is getting affected by packet loss. Parsec will lower the quality for any increase to compensate, but you'll also lag if it increases a lot. If you're just getting intermittent stutters, the number may increase in the time frame of the stutter too.

What to do if the N: numbers are too high?

Check the following things on both the host and guest devices:

  • These numbers can generate false positives if the decode or encode latency is over the recommended threshold, make sure you checked that's not the case in the previous section about latencies
  • Both sides should use an Ethernet cable or ensure you're using 5ghz Wi-Fi. Avoid signal boosters, Ethernet over power line or mesh Wi-Fi systems. Move closer to your Wi-Fi if possible. If you're using Wi-Fi and you can at least test an ethernet cable for a moment, try it out and see if your situation improves
  • Do a bufflerbloat test on both devices, which will show whether your connection is reliable enough for low latency gaming
    • If you get a poor result for low latency gaming, consider looking into setting up SQM on your router, or get a new router. If you have QoS on your router, it may or may not improve bufferbloat, you'll want to test the before and after
    • Some routers have defective Intel puma chips that don't handle intensive network tasks very well and often cause severe stream issues. Search on TechInfoDepot for your modem/router. If yours has the defective chip, you should look into replacing it. There's also an alternative test for Puma on DSLReports
  • Try restarting the routers on both sides
  • Make sure that the bandwidth limit in the host settings isn't too much for this connection. Experiment reducing the bandwidth to 3 Mbps, and if the issues seem to have disappeared, keep upping it and testing how much the connection can handle
  • If anyone has internet speeds slower than the recommended by Parsec, you'll likely have issues as a result. The host needs at least 10mbps upload and 2mbps download per guest. The client needs at least 2mbps upload and 10mbps download
  • Beware of other apps or devices on your network that might be making use of your internet or system resources in a way that affects Parsec
    • Windows Update's Delivery Optimization which can cause micro stutters every few seconds. To disable that, go to Settings > Update & Security > Advanced options > Delivery Optimization > Disable "Allow downloads from other PCs"
    • "Network optimizer" programs like Lenovo Vantage may cause intermittent stutters. If you have one of those, try uninstalling them
    • Other programs like HP Smart have also been reported by users as causing stutters
    • Turn off any energy-saving features built into your network adapter. On Windows, open Device Manager > Network adapters > [Your network adapter (e.g. Realtek PCIe GbE Family Controller)] > Advanced and turn off settings like Green Ethernet, Energy-Efficient Ethernet and Power Saving Mode
  • If the host happens to have experimented around with advanced settings in Settings > Host > Edit the configuration file, remove them and restart Parsec. They can easily worsen the experience if not carefully configured
  • The connection on either side might just be poor, or the connection route being taken is currently poor. Note that Parsec is peer-to-peer, so your connection isn't going through Parsec's servers, it's entirely up to the guest and host's connection
  • If you're connecting PCs on the same house with ethernet cables, it should be flawless. If it isn't, something is faulty, be it the cables, the router, switches you have, or the PC. Experiment with different PCs in the house, remove switches, try out the same ethernet cable on different PCs to check if the cables may be faulty. Ideally, while testing, keep it as 'PC <-> cable <-> router <-> cable <-> PC'

 

Other things to consider

What else to look into if the console log and latencies seem fine?
  • If everyone is looking at the action from Parsec (the host isn't looking at the original screen or you're on a cloud PC), it's possible the game itself is lagging. If no one can check the actual screen, use tools to monitor the FPS and general performance of the game
  • If the stream is stuttering somewhat, try turning on V-sync in Parsec's client settings and restart Parsec. People usually associate V-sync with preventing screen tearing, but on Parsec it can noticeably improve the delivery of frames in other big ways. If you don't notice an improvement, keep it off for saving some latency
  • If the host and guest have differing refresh rates, it might result in what looks like stutter. Consider tweaking the refresh rate if you suspect that's the case
  • Guests can try out a different renderer in Settings > Client > Renderer. Most Windows guests will have a better time with DirectX, and Intel HD Graphics 4000 and older do not support OpenGL well
  • If you're getting underwhelming quality at high bitrates, and you happen to have H265 on, try turning it off
  • If you feel way more latency than you get by combining the decode + encode + network from the overlay, your guest device could be at fault in ways that even decode won't tell you. Try being a guest in different devices to check this, confirming that your latencies and console log are still good. If you have a Raspberry Pi, make sure it has a proper power supply, isn't throttling and use the "Performance" CPU governor on all cores