Will upgrading CPU help with steam link?

salilsurendran

Distinguished
Nov 22, 2008
105
0
18,680
Hello,
I have a very old CPU Intel Core Duo E8500 @ 3.16 GHz and ASUS P5Q Pro motherboard. Streaming on steam link to my bedroom tv is very slow with slow encoding always displayed when 'Display Performance Metrics' is set. I am playing strategy games like XCOM so my desktop computer as such satisfies all my needs when I play directly on it. I ran a performance log on my desktop while playing on steam link my cpu is at 100% usage while streaming and I am only getting 10 fps even at 720p resolution. I was wondering if overclocking my CPU to 4GHz will help. If not should I just go for a quad core processor 'Q9700 extreme edition' or 'Q9650' will it give me at least 30 fps or is my only option to upgrade to a brand new CPU and motherboard?
 
Strategy games are usually heavy on cpu and on top of that you are trying to stream on that extremely old and obsolete 2 cores.
Add to that the lack of a graphics card which you have not mentioned, and i can imagine the mess. It should be struggling even with a dGPU.
You should consider switching to a newer platform like CoffeLake/Ryzen.

 

salilsurendran

Distinguished
Nov 22, 2008
105
0
18,680


I have a Nvidia 1050 TI as GPU
 

oriol.delavega

Prominent
Jan 31, 2018
62
0
660
Well...Various questions...
What XCOM game are you trying to play...? Enemy unknown...?
What FPS do you get when playing on the host computer at similar resolutions? If not sure, you can turn on an FPS counter in Steam -> Settings -> In-Game. Is the CPU usage at 100% too?
Not sure if you can try this while streaming, but, in TaskManager, what's the process that eats CPU the most?
And, finally, are you certain HW encoding works? If not sure, turn on "Display Performance Metrics". After "Encoder:" it should say something depending on wether you have NVFBC turned on or off, and, then, "+ NVENC H264". If it says, "libx264", it's not working and, with such a weak CPU, it's no surprise you get slow encode.

Of course I do not disagree with Hellfire. That 1050Ti is way too much GPU for your CPU. But, anyway, if you are playing the XCOM: Enemy Unknown your CPU more than meets the recommended specs. Even if you are playing XCOM 2 you meet the minimum specs. And hardware encoding should not be bottlenecked by your CPU. Even a rpi can do that. So, perhaps you have something more going on...
 
The problem is not meeting the specs. The problem is simultaneous streaming on those 2 cores which that weak cpu is struggling to handle along with gaming, which is demanding anyways and loads the cpu pretty much.
The 3D acceleration is provided by the GPU to grab framebuffer and encode it to H264, but streaming puts heavy strain on the CPU part of it, therefore depending on what kind of encoding u choose, it will use more or less CPU time for encoding task. If u put too much of your CPU into encoding task, it will fall behind in supplying your GPU with enough data for 3D processing of the game your playing. Additional cores helps better composting and sampling on the cpu side of it, but lack of it can strain the meager resources additionally affecting both gameplay and stream.
 

salilsurendran

Distinguished
Nov 22, 2008
105
0
18,680


Very interesting. The performance display switches between 'Desktop NVFBC NV12 + NVENC H264' and 'Desktop NVFBC NV12 + libx264(1 thread)' as I move between the splash screen to the 'New Game / Load Game' menu and then actually load the game. At the start of the game the encoder is 'Desktop NVFBC NV12 + NVENC H264' and I am getting close to 30 fps and then it switches to 'Desktop NVFBC NV12 + libx264(1 thread)' at some point of time and I get 4 fps. It never switches back and I get bad performance from there on. Anyway I can force steam to always use GPU encoding. I didn't know 'Desktop NVFBC NV12 + libx264(1 thread)' meant that the GPU was not being used to do encoding.

 

oriol.delavega

Prominent
Jan 31, 2018
62
0
660
It's usual a bit of switching between HW and SW encoding during loading screens. But it has to stabilize to HW during gaming. If not, something is broken. You can try some things though.

First, switch between stable and beta steam release. That is, if you are running beta switch to stable, and if you are running stable switch to beta (Steam->Settings->(Beta participation) Change)

Try other games if you didn't after knowing what to search for... See if HW encoding is broken no matter what you play.

If you are are not running the latest nvidia graphics drivers, upgrade them. If you are running them, then completely remove them, and reinstall from scratch. You can use this guide:

http://www.overclock.net/forum/71-nvidia-drivers-overclocking-software/1150443-how-remove-your-nvidia-gpu-drivers-new-2016-a.html

If nothing solves the issue, get the files:

Path_to_Steam\logs\streaming_log.txt
Path_to_Steam\logs\streaming_log.previous.txt

Upload them to your favorite cloud storage service, and post the links here.
Also, I'd recommend you to ask for help at the Steam streaming forum:

https://steamcommunity.com/groups/homestream/discussions/

There are people there that have lots of knowledge about In-Home streaming.

As a last resort, you can always try and reinstall your OS from scratch. That should solve any software issues, but it will not help if the problem is that some Steam update has broken backwards-compatibility with your specific platform.
 

oriol.delavega

Prominent
Jan 31, 2018
62
0
660
I couldn't get the previous streaming logs link to work.
Got the streaming log, though, and, oddly, could find no reference to NVENC, only to libx264, so... I searched through my own logs and found something interesting... As we said, during loading screens you can see various switching between libx264 and NVENC, and I realised this happens every time the host changes display resolution, so, perhaps there is something that NVENC does not like about your gaming resolution... You could try to identify what resolutions do work and what do not. Perhaps you are trying to capture a 4:3 resolution like 1024x768 and output as 720p that is 16:9? It should not matter but, who knows...

Another approach would be enabling NVFBC capture if you have not already tried it... or a combination of both solutions...

For instance, here is a screenshot of my host configuration:

14x2pt5.jpg


Please ignore the threads as this setting is not used for hardware encoding. But, as said, one thing to note is that I'm streaming from 1080p to 1080p, or 1080p to 720p... Anyway, ever keeping aspect ratios. This could be, or not be, relevant... Perhaps ticking the "change desktop resolution to match streaming client" would help in your case...

Sorry for not being more helpful... I'm running out of suggestions..
 

salilsurendran

Distinguished
Nov 22, 2008
105
0
18,680
I overclocked my E8500 to 4Ghz but that didn't increase the frame rate by much. I now have 3 options:
1. Upgrade to a Xeon X5460 already modded to fit LGA775 Asus Pro PQ5 motherboard and overclock it to 3.8Ghz. Costs about $40 on aliexpress.
2. Upgrade to Q9650 and overclock to 4GHz. Costs about $70.
3. Buy a completely new motherboard and CPU. Don't know the cost(but probably around $250) and will require time to research.

I am leaning towards the modded X5460
 

oriol.delavega

Prominent
Jan 31, 2018
62
0
660
Well, I'm no CPU expert but, as far as I know, all these processors are variants of the same Penryn architecture so, if, and I think it's a big if, you could overclock them to the same 4 GHz, you should get roughly the same performance per core. Given that you could not get HW encoding with the current processor, staying in the same platform you should expect the same difficulties. So you should get about 3 times your current fps by setting steam to use 3 streaming threads... If the sole core that will still be devoted to the game is capable of keeping its pace. And this is another big "if". You could try by enabling the steam fps counter and streaming with 1 thread on your current processor. Then Steam will show both the streaming performance and the pure rendering fps.
But, of course, this would not give you a lot of room to play more modern games in a future. So, my advice, get HW streaming working with your current platform (you could try a complete Windows reinstall as a last resort), or move to a completely modern platform, either Ryzen or Intel. Even a Pentium G4560 would have roughly the same performance as an overclocked q9650 but you could use hw encoding for sure, either Intel QuickSync or Nvidia NVENC, so all 4 CPU threads would be available to your game. Not to mention the advantages you could get by moving to a full 4-core solution as an 8th-gen i3, or a Ryzen 3. Sure it's a more expensive than changing only your processor, but I think it would be a much better invested money.