Steam Link
Is a stutter-free experience at least possible?
Hi,

I bought a steam link recently, and before I was using a laptop to stream games from my PC.

My PC config is pretty good, at least for the games I want to run:
Intel 6700K 4.2 Ghz
Z170 PRO Gaming motherboard
16 GB of RAM
Nvidia GTX 1060

I use beta steam client, but the latest stable build does the same. I use a wired ethernet network.

When I paly streamed games, I always get a micro stutter here and there that prevents the experience to be totally smooth. There is no lag spike in the performance graph, no lost packets or frames. But when I play a 2D game like OwlBoy or Seasons After Fall, the stuttering is very obvious.

I tried MANY things, like:
- Changing bitrates limits
- Enabling/disabling shadow play
- Changing games settings (resolution, vsync on/off, triple buffering on/off, and so on)
- Tried various NVidia drivers versions and registry tricks

None of them seemed to remove this stutter. Since my rig is certainly capable of handling those indie games, I begin to wonder if the current In-Home Streaming technology is actually able to provide a stutter-free experience. Because if it isn't, there's no need for me to bother finding a solution that will never exist.

Could someone tell me that they experience butter smooth side scrolling with streaming without a single frame drop? I'm very sensitive to this, and I'd like to solve this issue.

Thank you!
< >
226240/330 megjegyzés mutatása
Tried again with everything updated, and it's still the same for me. I have seen no improvements whatsoever... Everytime someone comes with any "solution" that miraculously fix the stutters, i try it. There is no solution right now.

Maybe there are people that experience diferent stutters and are less sensitive to subtle microstutters, and some solutions do fix the major stutters that they see, but microstutters are another matter.

Fact is, microstutter is very present. No matter the settings i use. Again, moonlight stutters and nvidia app does not(both apps on shield tv - i have some stutters on smartphone but its wireless).

Bota eredeti hozzászólása:
https://mega.nz/#!JN9Q3DKZ!oXc7JsSdkFu7D__w2q0fNPmdIsQmRrvEoWetdrLuMgY


https://mega.nz/#!VMcQxT7L!J9IyCBljMHYGD-PYONzqMC3Ejitt_coCsQZ-rwk-lUI



These are my latest logs. I see the same stutters, no matter the version of steam link and steam client.

One game that the stutters are very easy to see is Rise of the Tomb Raider. It stutters on steam link and on shield tv using moonlight. It does not stutters using nvidia games(nvidia streaming app). If possible, try that one slouken. I use the end of the soviet installation area, after descending the zip line.

https://www.youtube.com/watch?v=Vkb5o4Yxobs

Right beside the truck in this video (video is not mine) is a nice spot to see the problem. Just stand still and slowly rotate the camera. Sometimes it stutters right away, sometimes it does not, and the game settings don´t matter. But it stutters on the entire area. (didn´t try other areas)

Thanks Bota, but we need the detailed stats dump from an F8 or Start+X capture within 10 seconds of the stuttering occurring. These dumps go into the streaming folder in your Steam directory on the PC.

Thanks!
slouken eredeti hozzászólása:
Thanks Bota, but we need the detailed stats dump from an F8 or Start+X capture within 10 seconds of the stuttering occurring. These dumps go into the streaming folder in your Steam directory on the PC.

Thanks!



https://mega.nz/#!hF9EXLyK!bj9j7eeYmk-8Fr6zHDEFGvboULLc-f2kvCaXV7RoZzA


Here it is.

Witcher 3 GOG, minimum settings, 1920x1080.

Before you ask, no, it does not stutter on my pc with maximum settings(3770k 3.9GHz, GTX 1070, 16GB ram, 2 SSDs, one for OS, other for games and steam.). Not exactly maximum, only shadows on high, and nvidia hairworks AA on 2. I´m picky, so i use this to have always more than 60 fps at all times(it stuttered once, so...). And no, it does not stutter with gamestream. And yes, i know how to remove the microstutter on witcher 3 on nvidia cards (internal vsync off, internal framelimiter off, nvidia control panel vsync on and max pre rendered frames=1).



I used 100 Mbps full duplex. Same results with 1Gbps.



Vsync off. Turned on after UNKNOWN_(0)_03-29-17_01-39-56.


My findings:

With NvFBC and vsync off, it stutters all the time, slow convert warning, and crazy stutters on menus. With vsync on it has microstutter every 2 or 3 seconds, more or less(same behaviour that i complain about). (tested at 10Mbps - Same with 30Mbps)

With NvIFR and vsync on i have more or less the same results as NvFBC with vsync on.

I have the best results using NvIFR and vsync off. And with bandwith less than 15Mbps. It stutters more at 30Mbps. Of course, it still stutters at 10Mbps, but a lot less. And fast quality. Again, this are not settings that are acceptable for streaming.

Streaming_log included.

Don´t forget that i´ve restarted the game everytime i changed something, so the loading screens are also in the logs(possible slower framerate, resulting on lower AvgFps.





Bota eredeti hozzászólása:
slouken eredeti hozzászólása:
Thanks Bota, but we need the detailed stats dump from an F8 or Start+X capture within 10 seconds of the stuttering occurring. These dumps go into the streaming folder in your Steam directory on the PC.

Thanks!



https://mega.nz/#!hF9EXLyK!bj9j7eeYmk-8Fr6zHDEFGvboULLc-f2kvCaXV7RoZzA


Here it is.

Witcher 3 GOG, minimum settings, 1920x1080.

Before you ask, no, it does not stutter on my pc with maximum settings(3770k 3.9GHz, GTX 1070, 16GB ram, 2 SSDs, one for OS, other for games and steam.). Not exactly maximum, only shadows on high, and nvidia hairworks AA on 2. I´m picky, so i use this to have always more than 60 fps at all times(it stuttered once, so...). And no, it does not stutter with gamestream. And yes, i know how to remove the microstutter on witcher 3 on nvidia cards (internal vsync off, internal framelimiter off, nvidia control panel vsync on and max pre rendered frames=1).



I used 100 Mbps full duplex. Same results with 1Gbps.



Vsync off. Turned on after UNKNOWN_(0)_03-29-17_01-39-56.


My findings:

With NvFBC and vsync off, it stutters all the time, slow convert warning, and crazy stutters on menus. With vsync on it has microstutter every 2 or 3 seconds, more or less(same behaviour that i complain about). (tested at 10Mbps - Same with 30Mbps)

With NvIFR and vsync on i have more or less the same results as NvFBC with vsync on.

I have the best results using NvIFR and vsync off. And with bandwith less than 15Mbps. It stutters more at 30Mbps. Of course, it still stutters at 10Mbps, but a lot less. And fast quality. Again, this are not settings that are acceptable for streaming.

Streaming_log included.

Don´t forget that i´ve restarted the game everytime i changed something, so the loading screens are also in the logs(possible slower framerate, resulting on lower AvgFps.

Thanks, these are helpful.

The first one, UNKNOWN_(0)_03-29-17_01-06-07, shows NvFBC performing terribly on your system. I've never seen it behave like that before.

The last one, UNKNOWN_(0)_03-29-17_01-42-21, shows in-game capture working as expected with no stalls in the network or decoding, but the game itself is stuttering.

Normally I would suggest switching to NvFBC, which isn't tied to the game rendering, but that doesn't appear to be an option here. I can't imagine why a GTX 1070 would perform like that.

What version of NVIDIA driver are you using? I'll try to reproduce that here.
slouken eredeti hozzászólása:

Thanks, these are helpful.

The first one, UNKNOWN_(0)_03-29-17_01-06-07, shows NvFBC performing terribly on your system. I've never seen it behave like that before.

The last one, UNKNOWN_(0)_03-29-17_01-42-21, shows in-game capture working as expected with no stalls in the network or decoding, but the game itself is stuttering.

Normally I would suggest switching to NvFBC, which isn't tied to the game rendering, but that doesn't appear to be an option here. I can't imagine why a GTX 1070 would perform like that.

What version of NVIDIA driver are you using? I'll try to reproduce that here.


I´m using the latest driver (378.92). I use exclusive fullscreen. Usually i have worse performance with borderless window.

In UNKNOWN_(0)_03-29-17_01-06-07, i disabled vsync. I was having about 130 Fps in-game. NvFBC does not work nicely on this conditions. At least on my system. With vsync on it works as everything else. Usualy i use rivatuner to cap everything at 60fps. That with vsync on usually give me no microstuttering(not streaming).

In UNKNOWN_(0)_03-29-17_01-42-21 i have vsync on, but please notice one thing: it was a test of about 2 minutes. It was just enough to record the stutters. That test also includes low framerates from loading screens (about 20 something fps). It will probably decrease the avgfps.

But it´s strange you see stutters, because it does not stutter with the lowest settings(i tested it before sending the logs). BUT it stutters if i have everything maxed out(settings on the post above), but the stutters go away once i limit the framerate with rivatuner to 60fps. Talking about vsync on, and not streaming. Also, it does not stutter everywhere. Again, maximum settings.


This is my setup:

Intel i7 3770K 3.9GHz Hyperthreading On
Gigabyte GTX 1070 G1 Gaming (default mode - i don´t use gigabyte software)
Gskill DDR3 1866MHz cas9
64GB Sandisk SSD (OS) + 480 OCZ Trion 150 (games and apps and steam) + 1TB Western Digital Blue + 1TB Samsung HDD
Asus P8Z77V-LK(realtek ethernet card)
650Watt Antec Power Supply
Lg E2350 1080p 60Hz monitor
Huawei router HG8247H (ISP provided)
Windows 10 Pro Anniversary Edition

My AV is windows defender. Firewall is the windows firewall. (I´m a cheap bastard...)

Every gamecapture software is disabled, so xbox app, nvidia share and steam transmissions.

Monitor connected through DVI. 60Hz (gives me 60fps in bechmarks with vsync on, not 59.94).
Legutóbb szerkesztette: Bota; 2017. márc. 29., 16:39
Just got myself a new GTX1080, so I'm going to have another crack with NVFBC.
My experience so far is that QuickSync definitely is the most robust and fastest encoder on an average CPU (3570k @ 4.4ghz, RX 480). Software encoding could be an option if you have enough cpu threads idling. In addition USB devices with a high polling rate can also add strain on the Steam Link cpu, so offloading this task with virtualhere to a device other than the Steam Link is preferable.

Audio has to be set to 48khz and 24 bit to get good audio. The audio does still cut out sometimes when alt-tabbing or loading a game, accompanied by a spike in the latency.

I am very sensitive to frame timing and spend a lot of time tweaking games to reduce stutter. Basically all my games play extremely smooth locally. When streaming through Steam Link something like Diablo 3 stutters quite frequently whereas Dirt Rally is smoother with only the occasional stutter.

I'm having trouble finding the cause for these stutters based on the logs. Here are my logs for two sessions one with Diablo 3 and one with Dirt Rally:

https://drive.google.com/drive/folders/0B0h3RrjhvMT4cUpneTctRkdkN28
nick eredeti hozzászólása:
My experience so far is that QuickSync definitely is the most robust and fastest encoder on an average CPU (3570k @ 4.4ghz, RX 480). Software encoding could be an option if you have enough cpu threads idling. In addition USB devices with a high polling rate can also add strain on the Steam Link cpu, so offloading this task with virtualhere to a device other than the Steam Link is preferable.

Audio has to be set to 48khz and 24 bit to get good audio. The audio does still cut out sometimes when alt-tabbing or loading a game, accompanied by a spike in the latency.

I am very sensitive to frame timing and spend a lot of time tweaking games to reduce stutter. Basically all my games play extremely smooth locally. When streaming through Steam Link something like Diablo 3 stutters quite frequently whereas Dirt Rally is smoother with only the occasional stutter.

I'm having trouble finding the cause for these stutters based on the logs. Here are my logs for two sessions one with Diablo 3 and one with Dirt Rally:

https://drive.google.com/drive/folders/0B0h3RrjhvMT4cUpneTctRkdkN28

I'm not sure why Diablo 3 would be stuttering, from your log of the last 10 seconds of stats, every single frame was captured ~16 ms apart and displayed about 25 ms later. The highest variance in display was a couple of frames displayed at 31 ms.

I did see some longer network delivery times. Are you opted into the Steam beta client (dated 3/30 or newer?)

Also I see that you're using VirtualHere. Out of curiosity, does it matter if you stop sharing your keyboard in the Steam Link VirtualHere settings?
Yes I am opted into the beta.

I have also tested without Virtualhere and it did not make any difference. The only time input devices impact performance are high polling rate devices, like for example my G400 mouse polls at 1000hz and can only be lowered to 125hz through the Logitech software. So every session I have to connect my mouse through virtualhere and then disconnect it again otherwise the USB traffic saturates the Steam Links CPU to the point it negatively affects performance.

Same thing goes for Steering Wheels, so I have off loaded my wheel to my router and am running a virtualhere daemon on that instead of through the Steam LInk.

The stuttering really depends on the game like for example Ultimate Chicken Horse which is made with Unity does not support exclusive fullscreen which makes it stutter every 30s or so. Whereas Speedrunners (built with XNA) has both exclusive fullscreen and borderless, in borderless you get the 30s stutter and in exclusive fullscreen it runs smooth non stop. Vsync does not change any of this behaviour besides maybe adding some lag to the input.

I will try to get some logs of both examples today.
Legutóbb szerkesztette: nick; 2017. ápr. 2., 23:54
I don't actually understand how Steam can be v-synced to two screens at once. If the PC monitor is 60hz (or 120hz, or whatever), and Steam Link is connected to a TV that's 59.94, how could that possibly work without stutter?

I wonder if it would be beneficial to have a 'headless' option within Steam, that turns off the main monitor when streaming so it can v-sync solely with Steam Link's display.

Or maybe I'm talking gibberish.
Vsync wont have anything to do with the steam link as its a video stream, except for adding a bit of latency.

Updated with some logs of ultimate chicken horse with stuttering every 30s (it does not show up in the graph).

https://drive.google.com/drive/folders/0B0h3RrjhvMT4cUpneTctRkdkN28
Slouken, any good news?

Thanks.
nick eredeti hozzászólása:
Vsync wont have anything to do with the steam link as its a video stream, except for adding a bit of latency.

Updated with some logs of ultimate chicken horse with stuttering every 30s (it does not show up in the graph).

https://drive.google.com/drive/folders/0B0h3RrjhvMT4cUpneTctRkdkN28

That's weird, because it also doesn't show any stuttering in the logs. A frame is captured every ~16 ms and is displayed on the Steam Link approximately 30 ms later without any significant variation. Does this stuttering happen when playing locally? Maybe the game is rendering the same frame twice?
No, when played locally its smooth as butter.

Another game which shows this kind of behaviour is Geometry Wars 3. I'll try to measure the intervals (my guess is every ±30 seconds).

Overall my experience so far is great. Most games I can play perfectly with controllers. Been playing F1 2016 with a wheel plugged into a seperate virtualhere device. No stutters or input lag. Low contrast scenes (overcast, rain) do tend to get a bit muddy with the Quicksync or AMD encoder. Software encoding is better but ties up to many resources on my 3570k @ 4.4.

Even managed to complete Shovel Knight which is quite demanding when it comes to reaction times.

A few UWP/DX12 fixes would be great to get those running at 60 fps. (Horizon 3, GOW 4, Tomb Raider)
Legutóbb szerkesztette: nick; 2017. ápr. 17., 23:51
Slouken, is there any way to confirm that network traffic prioritization is actually on and working? I have a new switch that allows 802.1p and DSCP, but not sure how I should best configure it (and ensure it's actually using QOS for the Link).
< >
226240/330 megjegyzés mutatása
Laponként: 1530 50