Steam Link and latency

Avatar image for toastman
ToastMan

211

Forum Posts

14

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

Hi all!

I just got a Steam Link and I would appriciate it if anyone with Steam Links could share their Display Latency numbers along side their connection type (wired/wireless).

The latency that I'm getting with my Wireless setup is ~28-38 ms in-game. ~14-19 ms in Big Picture menu.

Dropping the resolution in-game to 720p (from 1080P) drops latency considerably to around 19ms.

I'm basically trying to find out how compromised am I by using wireless (as this is my only option). Picture quality is flawless and I get no dropped frames. Estimated Bandwidth is listed at 100Mbps. Ping and Input Latency are below 1ms. Basically, display latency is the only thing that sours the experience since the lag is very much noticable.

I know that there's the latency coming from my TV that is being added, and I'm minimizing that as much as I can by using Game Mode, but when the display latency drops by lowering the resolution, lag becomes very much bearable.

Is it realistic to drop below 20ms in-game when steaming 1080/60 over wireless?

Thanks!

Avatar image for jurck
Jurck

51

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

I don't have the technical know-how to give any reasons for why my latency is so much lower compared to yours, but when I stream wirelessley at 1080p on the "Balanced" performance setting I get <1ms ping and input latency and the Stream Latency fluctuates between 14 and 21ms, sometimes settling at 18ms. I can comfortably stream Dark Souls without noticing any delay, but I draw the line at online fighting games.

However, I do occasionally get a second or two of dropped frames: Whenever someone else in the house accesses wireless it drops a few and the latency jumps up about 10ms for a few seconds. And other times, it just drops frames for whatever reason.

Avatar image for forcen
Forcen

2746

Forum Posts

29709

Wiki Points

0

Followers

Reviews: 1

User Lists: 31

#3  Edited By Forcen

What game are you playing, is it something like witcher 3 or more like witcher 1? Tried a game that doesn't use much of your PC even in 1080p like half-life 1?

Might be that your PC can't run the game and stream it fast enough, check your cpu and gpu usage when streaming? It would also be useful to move the PC temporarily to the router and try it with ethernet and see if it's faster, or try a lighter game on a laptop using ethernet with the same settings and see if the lag is lower. Are you using beatiful, fast or balanced?

The steam store page for the link says "Wired network is strongly recommended." so..

You should do the "Start+X to snapshot" thing when you have the debug overlay up, then you get a zipfile with a screenshot of the overaly and a log file where you can see each step a frame takes and how long it took in the C:\Program Files (x86)\Steam\streaming folder.

More info about logs: http://steamcommunity.com/groups/homestream/discussions/0/540733523404402134/

Avatar image for toastman
ToastMan

211

Forum Posts

14

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#4  Edited By ToastMan

@jurck: Thanks for the info. Yea, I also lack the technical knowledge to properly debug this thing. This is interesting though that you get better results. Would you mind sharing your PC specs and Router model?

@forcen: I did my tests with Doom(2016) because I get consistant 60fps. But I did try just now running Gone Home which should be no problem in terms of load, but didn't see anything different. 1080p hovered around 30ms while 720p brought it down to around 17ms.

My processor is indeed very old. An i7-2600. But the rest of it is pretty ok with a gtx970 and 24GB Ram. Even my ancient CPU should be able to handle streaming Gone Home I think.

I also tried using all three streaming presets (Beautiful/Balanced/Fast), I did not notice anything different between all three of them. The only elements that affect the latency are Resolution and Bitrate.

I did the snapshot that generates this log file, but I'm not sure what to make of it even after going over the link you provided. I can see where the frame is taking more time to be processed, but without context I can't really tell if the numbers are exceptional in any way.

I'll paste one of the entries in the log file for anyone who might be able to shine some light on it:

NETWORK: Ping: 0.18ms, Server: 26399 Kbit/s, Client: 140 Kbit/s, Link: 100000 Kbit/s, Packet loss: 0.00%

Frame: 59326, 56142 bytes, k_EStreamFrameEventStart at 1027242.44ms

k_EStreamFrameEventCaptureBegin at 1027242.44ms, delta: 0.00ms

k_EStreamFrameEventCaptureEnd at 1027243.06ms, delta: 0.63ms

k_EStreamFrameEventConvertBegin at 1027243.13ms, delta: 0.02ms

k_EStreamFrameEventConvertEnd at 1027243.13ms, delta: 0.02ms

k_EStreamFrameEventEncodeBegin at 1027243.13ms, delta: 0.00ms

k_EStreamFrameEventEncodeEnd at 1027249.31ms, delta: 6.18ms

k_EStreamFrameEventSend at 1027249.31ms, delta: 0.02ms

k_EStreamFrameEventRecv at 1027251.50ms, delta: 2.20ms

k_EStreamFrameEventDecodeBegin at 1027264.06ms, delta: 12.56ms

k_EStreamFrameEventDecodeEnd at 1027265.38ms, delta: 1.28ms

k_EStreamFrameEventUploadBegin at 1027270.63ms, delta: 5.28ms

k_EStreamFrameEventUploadEnd at 1027270.63ms, delta: 0.02ms

k_EStreamFrameEventComplete at 1027270.69ms, delta: 0.03ms

total frame time: 28.21ms, result = k_EStreamFrameResultDisplayed

Avatar image for forcen
Forcen

2746

Forum Posts

29709

Wiki Points

0

Followers

Reviews: 1

User Lists: 31

#5  Edited By Forcen

@toastman: Oh yeah, I forgot the number one thing about playing games on a Steam link: Never use V-Sync, always disable it the first thing you do!

V-sync is not needed for Streaming since it already does this when it sends the frames etc, all it does is add additional video latency. You said you get 60fps in doom makes it sound like you had v-sync enabled.

Here is one of my frames from the log:

NETWORK: Ping: 0.00ms, Server: 14461 Kbit/s, Client: 46 Kbit/s, Link: 100000 Kbit/s, Packet loss: 0.00%

Frame: 61861, 29839 bytes, k_EStreamFrameEventStart at 5413507.00ms

k_EStreamFrameEventCaptureBegin at 5413507.00ms, delta: 0.00ms

k_EStreamFrameEventCaptureEnd at 5413507.50ms, delta: 0.47ms

k_EStreamFrameEventConvertBegin at 5413507.50ms, delta: 0.00ms

k_EStreamFrameEventConvertEnd at 5413507.50ms, delta: 0.00ms

k_EStreamFrameEventEncodeBegin at 5413507.50ms, delta: 0.00ms

k_EStreamFrameEventEncodeEnd at 5413513.50ms, delta: 5.75ms

k_EStreamFrameEventSend at 5413513.50ms, delta: 0.02ms

k_EStreamFrameEventRecv at 5413514.50ms, delta: 1.11ms

k_EStreamFrameEventDecodeBegin at 5413520.00ms, delta: 5.25ms

k_EStreamFrameEventDecodeEnd at 5413521.00ms, delta: 1.28ms

k_EStreamFrameEventUploadBegin at 5413521.50ms, delta: 0.27ms

k_EStreamFrameEventUploadEnd at 5413521.50ms, delta: 0.00ms

k_EStreamFrameEventComplete at 5413521.50ms, delta: 0.02ms

total frame time: 14.18ms, result = k_EStreamFrameResultDisplayed

Avatar image for toastman
ToastMan

211

Forum Posts

14

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#6  Edited By ToastMan

@forcen: Yeah, I actually experimented with and without V-Sync in different games and also did not notice much change. But I'll be sure to always turn it off from now on.

So your numbers are significantly lower than mine. Are you wired or wireless?

Avatar image for arjailer
Arjailer

229

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

You also need to make sure your GPU is doing the video encoding and not the CPU.

Can't remember how to do that, something about enabling the recording settings in GeForce Experience.

Avatar image for forcen
Forcen

2746

Forum Posts

29709

Wiki Points

0

Followers

Reviews: 1

User Lists: 31

@toastman: I'm wired, that was some metal gear solid 5. I'm also not streaming audio since I got a wireless headset.

Are you using automatic bandwidth in the steam link? It would be great to identify if the CPU or the wireless is the issue for you, it would be best if you could either plug in the PC or the Steam Link using ethernet temporarily as a test. Maybe move the thing temporarily so it's possible? If it's the PC that needs to be moved then you might be able to be able to just plug in power and ethernet and connect using that, worst case use teamviewer to avoid plugging in a monitor. If it's the link then try using it plugged in to your monitor.

Consider checking and posting stuff from the other logfile mentioned in the thread above, also post that png they include in the zip capture thing.

Looking at your log, it might be your link that's slow to start the decode? (I could be totally wrong) If the link is slow then it might be better to ask in the steam link forums or subreddit.

Avatar image for toastman
ToastMan

211

Forum Posts

14

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

@arjailer: The Stream Information overlay shows that the GPU is indeed doing the encoding. I also tried switching to CPU encoding but noticed no change. I will check that recording setting the GeForce Experience just in case though. Thanks!

@forcen: I'm not using automatic bandwidth, I'm capping it to 30 mbps. I tried capping it to 3 mbps and while compression was visible all over the place it had a great impact on latency.

You're totally right though, I should test the Link by wiring it directly. I can move it to the room with PC and connect it easily there. Frankly, should have done that from the start hehe... Will check after work and update here.

Avatar image for forcen
Forcen

2746

Forum Posts

29709

Wiki Points

0

Followers

Reviews: 1

User Lists: 31

#10  Edited By Forcen

@toastman: Try doing automatic if you haven't, it should do an OK job at picking whatever is the most usable bandwidth.

Also it's not a cap AFAIK. EDIT: Or, it's not like it will go below 30 if the link think it's to much? Only automatic lowers it when it's needed. That's my understanding. You can change these settings on the fly by using the ingame big picture menu and going to client settings.

You can also do the network test by pressing Y when you got the PC selected, i got a 4ms something and a 1ms something variance just now.

EDIT 2: oh yeah. look at our frames. your has way higher bitrate than mine. Automatic might be enough, try it before unplugging everything.

Avatar image for toastman
ToastMan

211

Forum Posts

14

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#11  Edited By ToastMan

@forcen: I actually tried automatic as well and the bitrate was around the same value regardless.

Anyway, here's an interesting find. Wiring the Link directly produces a very slight reduction of latency. Still nowhere near your numbers.

I also tried that network test while wired and got 7.57ms and 2.77ms variance.

So the real bottleneck should be somewhere in my host PC I think. I'm not sure what though. Hardware wise I should be good. Yea the CPU is old but it's not terrible by today's standards, and anyway, it doesn't do any of the encoding. The GPU does.

I'll go ahead and link to both full logs. The one from the Wired session and the one from the Wireless for comparison.

Wired

Wireless

Avatar image for forcen
Forcen

2746

Forum Posts

29709

Wiki Points

0

Followers

Reviews: 1

User Lists: 31

@toastman:About the CPU thing, it's not like CPU does nothing just because GPU is being used. You can open the task manager and see how CPU steam use when you are streaming. For me it constantly use 10% or so when playing MGSV, that's not nothing. If you got a friend with an super powerful laptop that he could bring over to your house then that might be interesting to compare?

I got an i5-4690K, it's not that much faster than yours but it is faster. Here are all my benchmarks if you want to compare other stuff: http://www.userbenchmark.com/UserRun/2481373 I get like 17ms most of the time, tried some metro 2033 redux and MGSV.

Here are my host and client settings in Steam: (try them if you got some other setting)

Here is a thing you can try in doom, enable all the video diagnostic options and see how much video latency the game thinks you have, try it with streaming and without and F12 screenshot it with steam. Not sure if it's related directly but it's something? Other stuff, Factory reset the steam link, can't hurt right and it's easy? Got another TV somewhere? other cables ethernet cables for the PC? Friend got a spare router doing nothing?

Try disabling other software in on your PC like shadowplay or basically anything and everything you don't need for the games to run. Could just be some conflicting software doing stuff.

Wish I could help more than just throwing out ideas and showing my setup, I don't know enough about how it works to actually do something with those logs. Consider posting to the steam link subreddit.

Avatar image for toastman
ToastMan

211

Forum Posts

14

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

@forcen: Yeah, about the CPU, I took into account the CPU doing some other minor stuff. I believe that even with that taken into account, it's probably not the bottleneck - but obviously I can't be sure without switching it for a different one which is not really an option unfortunately.

Thanks a lot for all of the different information and help! I really appreciate the time you invested towards trying to figure this out with me!

I'll keep on making some more tests including the ones that you suggested and the client settings that you use because they're a lot different then mine.

I'll also try posting on the subreddit, that's a good idea.

I'll keep updating here of any new findings.

Thanks again!