Steam Link

Steam Link

Ender Oct 18, 2015 @ 9:13am
How to find where the bottleneck is on my slow network connectin
I occasionally get a "slow network" message followed by stuttering in the stream. Is there an easy way to tell if the slow network connection is caused by my wireless router, or by the wireless card in my desktop?
< >
Showing 1-15 of 16 comments
Ender Oct 28, 2015 @ 5:43pm 
Thought I'd come back and give my solution. I don't think the issue was actually a "slow network", but rather some issue with "enable hardware encoding". I disabled that from the in home streaming menu and it works fine now.
Greg Oct 29, 2015 @ 12:05am 
In my opinion "software encoding" is only a temporary solution. You will quickly run into CPU bound games that will refuse to stream at any appreciable framerate with software encoding turned on. Also if it were directly an encoder issue on either end it would say so without hesitation.

Do you have an AMD GPU? If so some of this might not apply. In my experience AMD GPU's run into a framerate hit with hardware encoding enabled. Is it possible for you to view the computer monitor and the steam link output at the same time? If your game also sutters on the host PC then it's definitely a hardware issue with the GPU. Otherwise it's almost certainly a network issue, here's some tips to help understand the potential problem and troubleshoot it.

The estimated bandwidth meter is currently broken for hardware encoding and I think this is the reason you are running into "slow network" issues. If the link can determine that your connection sucks it will lower the bitrate on the stream to accommodate. Therefor with hardware encoding turned on there is currently absolutely no change in bitrate regardless of how bad the connection is.

What type of wireless are you on? (b, g, n, ac) and/or what router do you have? Is the steam link and the router between a few walls/different floors? If so, and you are connected on the 5Ghz channel I'd recommend switching to 2.4 ghz and seeing if that helps. It is less susceptible to interference.

You should also turn on the streaming performance monitor and take a look at all of the following : display latency, "ping" time, packet loss and frame loss. If your display latency increases beyond 30ms I would highly recommend you find a way to direct wire the Link. If your ping times jump up or the packet/frame loss increases while the stuttering is happening it is most certainly your network.

Also if you take a look at the graph in the bottom right you essentially want your two lines to both be as close as possible to each other as well as smooth as possible.
Last edited by Greg; Oct 29, 2015 @ 12:14am
Ender Oct 29, 2015 @ 2:51pm 
nVidia gpu
59-60 framerate
ac 1750 dual band router, supports all standards (b, g, n, ac)
connected on 5ghz, 300.0 bps

I tried re-enabling the hardware encoding, but couldn't break it for some reason... do I have to restart steamlink after turning it on/off? (from the messages I think it was on). During that time I saw no packet loss (but it didn't freeze).

Also, steamlink is directly plugged into my router, it's my PC that's wireless and in another room.
Greg Oct 29, 2015 @ 4:47pm 
One thing I would suggest is moving your other devices off of the 5ghz channel. Do you truly need 400 mbit/s going to your phone, etc.? What happens when you connect multiple devices to the same wifi network is the maximum bandwidth is essentially split equally between all of the devices. This could explain why it works fine one day and not the other.

5 ghz at 300 mbit on an AC1750 sounds a bit low to me, if the desktop is actually connected on AC that is. It depends on the exact model though. I believe 900 mbits is the smallest AC bandwidth limit i've seen on the AC1750 series. That would point towards it struggling because of interference. What this means is it's essentially using the full bandwidth (900-1350 mbit/s) to only send 300 mbit/s because of errors and resent packets. You seem smart enough to know why this could go horribly wrong when streaming something in real time. If you
connect to the 2.5 ghz channel does it have almost the same bitrate? (300-450 mbits)

Desktop PC's also give off a lot more RF (in my opinion) than your average laptop. Laptops also, generally have much beefier antennas than desktop PC's. If you cannot wire your desktop at all and the issue comes back it could be worth investing in a $20-30 external antenna.

Lastly it's also completely possible valve fixed the estimated bandwidth meters, i haven't checked myself yet.
Last edited by Greg; Oct 29, 2015 @ 4:49pm
Ender Oct 29, 2015 @ 5:26pm 
Actually, I think 300 is the limit for my wireless card in my desktop. I know it can't take full advantage of the router, but I have a great connection to it and 300 was supposed to be pleantry for streaming HD at 60 fps (I'm not worried about hitting a full 60 fps). I'll try getting it to freeze up again tomorrow and see if the stats indicate a network issue. If so, Fry's will probably have a good black friday deal for me (okay, cyber monday... I'm not wasting my vacation standing in line)
Greg Oct 29, 2015 @ 6:06pm 
It sounds like the card in your desktop is running in wireless-N mode. I know when I first started using steam streaming I had a 400 mbit wireless-N router that I thought would've worked just fine. In fact I assumed all of the little hitches and stutters were my computers fault, not my network.

Once I switched over to full speed wireless-AC all of that went away completely. To be honest I can confidently say that was the moment I decided to stop playing games on my desktop altogether. I've been 100% streaming since July of last year. The only difference I can see between wired gigabit and my wireless-AC setup is the 3-4ms extra ping time. Which mostly affects the input lag not the display latency as much.
Ender Nov 2, 2015 @ 4:48pm 
okay, haven't been able to reproduce so maybe the hardware encoding issue was resolved. After nesting with it turned back on I see the below on a quick borderlands 2 test when I get into a decent combat scenario:

20-30 framerate
2.5 ms ping
latencey .8 ms input, input 45 ms display

From a particularly bad frame period I grabbed the below from the logs:

Frame: 12672, 47086 bytes, k_EStreamFrameEventStart at 343429.16ms
k_EStreamFrameEventCaptureBegin at 343429.16ms, delta: 0.00ms
k_EStreamFrameEventCaptureEnd at 343440.09ms, delta: 10.94ms
k_EStreamFrameEventConvertBegin at 343440.09ms, delta: 0.02ms
k_EStreamFrameEventConvertEnd at 343442.81ms, delta: 2.72ms
k_EStreamFrameEventEncodeBegin at 343442.81ms, delta: 0.00ms
k_EStreamFrameEventEncodeEnd at 343457.38ms, delta: 14.56ms
k_EStreamFrameEventSend at 343453.97ms, delta: -3.40ms
k_EStreamFrameEventRecv at 343460.75ms, delta: 6.76ms
k_EStreamFrameEventDecodeBegin at 343477.19ms, delta: 16.43ms
k_EStreamFrameEventDecodeEnd at 343478.91ms, delta: 1.72ms
k_EStreamFrameEventUploadBegin at 343481.56ms, delta: 2.67ms
k_EStreamFrameEventUploadEnd at 343481.56ms, delta: 0.00ms
k_EStreamFrameEventComplete at 343481.59ms, delta: 0.02ms
total frame time: 52.43ms, result = k_EStreamFrameResultDisplayed


Greg Nov 2, 2015 @ 5:23pm 
To be completely honest 45ms display latency is anywhere close to ideal. Personally I think you're dropping frames solely due to the excessively high display latency. When you enable the performance monitor on the steam link what is it showing for the encoder?

Could you post your full streaminglog?
Ender Nov 2, 2015 @ 5:32pm 
I think this is the entry from that test:


[2015-11-02 17:43:14] "SessionStats"
{
"GameNameID" "Borderlands 2"
"TimeSubmitted" "1446504194"
"ResolutionX" "850"
"ResolutionY" "616"
"CaptureDescriptionID" "Desktop BitBlt RGB + libyuv + libx264 main (4 threads)"
"DecoderDescriptionID" "Marvell hardware decoding"
"BandwidthLimit" "25000"
"FramerateLimit" "0"
"SlowGamePercent" "0"
"SlowCapturePercent" "0"
"SlowConvertPercent" "0"
"SlowEncodePercent" "0"
"SlowNetworkPercent" "0"
"SlowDecodePercent" "0"
"SlowDisplayPercent" "0"
"AvgClientBitrate" "19.966457366943359"
"StdDevClientBitrate" "26.139053344726563"
"AvgServerBitrate" "1815.3385009765625"
"StdDevServerBitrate" "0"
"AvgLinkBandwidth" "68552.65625"
"AvgPingMS" "1.0030645132064819"
"StdDevPingMS" "0.23151399195194244"
"AvgCaptureMS" "16.073701858520508"
"StdDevCaptureMS" "2.665203332901001"
"AvgConvertMS" "0.55916029214859009"
"StdDevConvertMS" "0.57826459407806396"
"AvgEncodeMS" "2.5150535106658936"
"StdDevEncodeMS" "2.1198253631591797"
"AvgNetworkMS" "1.5255411863327026"
"StdDevNetworkMS" "1.8482449054718018"
"AvgDecodeMS" "1.5337648391723633"
"StdDevDecodeMS" "0.54828423261642456"
"AvgDisplayMS" "0.044330231845378876"
"StdDevDisplayMS" "0.12821501493453979"
"AvgFrameMS" "28.014312744140625"
"StdDevFrameMS" "4.357696533203125"
"AvgFPS" "61.607662200927734"
"StdDevFPS" "12.702348709106445"
"BigPicture" "1"
"KeyboardMouseInput" "0"
"GameControllerInput" "0"
"SteamControllerInput" "1"
Greg Nov 2, 2015 @ 5:42pm 
"Desktop BitBlt RGB + libyuv + libx264 main (4 threads)"

This is your issue. Not only is this software encoding, but it's also the slowest of the software encoders.

You have an Nvidia card, correct? Have you installed the Geforce Experience software? It is required to enable nvidia hardware encoding.

I also noticed you're using borderlands 2. I may be nuts, but I could swear once I enabled "high" physX settings the hardware encoder stopped working.

Could you try testing it with a different game if it still has issues?
Last edited by Greg; Nov 2, 2015 @ 5:44pm
Ender Nov 2, 2015 @ 9:08pm 
Ahh, that's the issue. Well, 2 issues. Nvidia set the physX for CPU. And, my video card is known for having an issue with streaming because it doesn't have efficient compression (I wasn't planning on steaming at the time since I didn't have a gigantic TV back then, so I didn't even think of that). Guess I'll be looking to update my graphics card on Black Friday
Greg Nov 2, 2015 @ 9:35pm 
What graphics card do you have exactly? Pretty sure anything Geforce 450 or later is supported.

Something that might be worth trying is to minimize the game on the host and then click on it from the taskbar. This a lot of the time will "reset" the encoder. The "Desktop BitBlt" is the absolute worst of the software encoders.

Last edited by Greg; Nov 2, 2015 @ 9:38pm
Ender Nov 4, 2015 @ 1:36pm 
GeForece GTX 560 TI
I *think* they added a chip starting in the 600 series that made enconding for streaming more efficient, but that was a while ago. I'll test this evening and let you know if minimizing helps.
Greg Nov 4, 2015 @ 2:14pm 
Yup you're correct

Originally posted by "WHAT ARE THE SYSTEM REQUIREMENTS FOR STREAMING PC GAMES TO SHIELD?":
Desktop: GeForce GTX 650 or higher desktop GPU
NVIDIA Kepler™-based GeForce GTX 600M or higher notebook GPU

What CPU do you have? It might be worth enabling the IGP and installing the intel graphics software to enable Quicksync encoding.

Although I think your best course of action would be to update the GPU.

Last edited by Greg; Nov 4, 2015 @ 2:14pm
Ender Nov 4, 2015 @ 4:47pm 
cpu is an intel i7 950 @ 3.07GHz
< >
Showing 1-15 of 16 comments
Per page: 1530 50

Date Posted: Oct 18, 2015 @ 9:13am
Posts: 16