The other week, when I was streaming on PC in 4k, I noticed that I couldn’t get a stable 60fps.
Frustrated, I kept on poking away at the settings in OBS and in game, not really knowing what I was doing or how they were affecting my stream. And I was probably making things worse, not better…
Why was my game lagging so much while I was streaming?
After flipping what seemed like every graphical switch, and fiddled around with OBS so much it wouldn’t even start any more (seriously, I had to reinstall it). I still couldn’t remove the lag from my game.
With no clue as to why my game was lagging, and as a strong sense of defeat loomed over me, I decided to start my own investigation.
This is what I found…
Why is My game Lagging when I’m streaming? There are a number of reasons why your game is lagging while you stream. These include:
- CPU or GPU incorrectly selected to encode the stream
- Your streaming resolution is too high
- You’re watching the stream on the same computer while you play
- You have multiple monitors running
- The streaming bitrate is too high
- Your streaming frame rate is too high
- Your internet connection is too slow
- You’re running too many programs in the background
- Your games graphics and gameplay settings are set too high
Each one of these problems can cause your game to lag while streaming. In the following sections, we’ll look at each in more depth and take a look at solutions to fix each problem.
Ok, let’s get started…
Problem 1: Your CPU is selected to encode the stream instead of your GPU
One of the biggest problems you’ll face when streaming PC games is that encoding a stream ready to be sent over the internet in real-time, while playing graphically heavy modern games, is taxing on your CPU.
You’ll often run into a problem if you are playing a CPU bound game, while your stream is being encoded by your CPU. This means that the game’s maximum frame rate is determined by the CPU. So, the CPU’s usage is maxed out by the game.
This often happens to me if I try to stream real-time strategy game, such as, Ashes of the Singularity (AtS). AtS is a massively CPU bound game, which means, it needs a better CPU more than a powerful graphics card.
So, if you run the game and the CPU is overwhelmed by the game, suddenly your stream will start to suffer. Or your game’s frame rate will start to tank as too many CPU resources are taken up by the stream encoding process.
However, if your game is CPU bound, and your stream is affecting the frame rate, there are a few things you can do about it…
- Go into your streaming software, such as OBS, and change the encoder from CPU to GPU. This will move the encoding from the CPU to the GPU freeing up the CPU to concentrate on the game.
- If swapping to the GPU is not an option, say you have an old GPU, try lowering the game resolution/frame rate/graphics. This will help free up more resources for the CPU to do the encoding.
- Decrease the Stream’s bitrate/frame rate/resolution. We’ll look at each of these in more detail later. But basically, lowering each will lower the cost of encoding the stream for your CPU.
- If you’ve got the resources, try building and using a dedicated Streaming PC.
- Upgrade your CPU.
Problem 2: Your GPU (graphics card) is selected to encode the stream instead of your CPU
Ok, this is opposite to the CPU problem above.
Most games these days, at least 90%, are GPU bound. That means that a game’s maximum frame rate is determined by the GPU. This usually means that the graphics card’s usage is effectively maxed out.
But therein lies the problem: if your stream is being encoded on your GPU, you will be splitting the GPU’s already limited resources across two very computational heavy problems: The game and encoding the live stream.
Fortunately, just like the CPU, there are a number of solutions to this problem.
- Go into your streaming software, such as OBS, and change the encoder from GPU to CPU. This will move the encoding from the GPU to the CPU freeing up the GPU to concentrate on the graphics.
- If swapping to the CPU as the encoder is not an option, maybe your CPU is quite old, try lower the in-game resolution/frame rate/graphics. This will help free up more resources for the GPU for the encoding.
- Decrease the stream’s bitrate/Frame Rate/resolution. We’ll look at each of these in more detail later. But basically, lowering each will lower the cost of encoding the stream for your GPU.
- If you’ve got the resources try building and using a dedicated Streaming PC.
- Upgrade your GPU.
Problem 3: Your streaming resolution is too high
Your streaming resolution is the resolution of the video you send out across the internet.
It is a separate entity from your in-game resolution.
For example, you could be playing Doom at a resolution of 1440p but you are encoding the stream at a resolution of 1080p.
Generally speaking, these two resolutions can increase the resources indeed to encode the stream in 2 ways:
- The higher the resolution of the stream the more CPU/GPU resources it will need to encode in real-time. For example, a stream at 4k resolution needs roughly 2-4 times the computational power to be encoded over 1080p.
- The difference between your gaming resolution and streaming resolution can increase resources needed to encode the stream. For example, if you are playing at 4k but want to downsample that resolution to 1080p for your stream, the encoder has to in real-time resample every single pixel. So, you want to closely match the streaming resolution.
So what is the solution to these problems?
- Decrease the resolution of the stream.
- Decrease the difference between your gameplay resolution and your streaming resolution.
- Upgrade your GPU or CPU, whichever you use to encode your stream.
- If the resolution is important to you, try decreasing other aspects of the stream such as Bitrate and framerate.
- Try to decrease the game’s graphical/gameplay settings to free up computational resources on your CPU/GPU.
Problem 4: You’re watching your own stream on the same computer while you play
Encoding a live stream is very taxing on your PC hardware. But did you know decoding, watching the stream, actually impacts your PC just as heavily.
In fact, the difference between encoding and decoding a live stream is negligible as they are pretty much identical processes, they are just revered in order depending on whether you’re encoding or decoding (watching the streaming).
If your encoding, information is compressed and encoded. If your decoding information is decoded and then uncompressed.
And all this happens in a fraction a second.
It’s taxing for a PC to do the encoding. But then asking the same PC to decode your own stream, while encoding that stream, and while playing a game, is going to make even the mightiest PC fall to its knees and beg for mercy. Your frame rate will fall off a cliff and you’ll experience server lagging while you stream.
However, there are a few simple solutions.
- Instead of watching your stream on the same PC, try watching it on a separate device such as a cheap laptop, a tablet such as an iPad, your phone, or on your TV using a fire stick. This will free up those resources that would have been tied up the decoding process
- I don’t recommend this but you could buy an even more powerful GPU or CPU. But considering the above solution is so simple and easy for most to implement, I’d recommend against it.
Problem 5: You have multiple monitors running
A second monitor running though your gaming PC actually takes a fair amount of resources just to display the windows desktop. You might think “not a lot is happening”, but that screen, that’s probably running at a resolution of 1080p, is still being updated by your GPU and CPU 60 times a second.
Your CPU/GPU resources are evaporating needlessly when a second monitor is sitting idle.
You can easily lose 5fps just from plugging in a second monitor.
Now that might not seem like a lot, 5fps is nothing after all, right?
Well, actually it can make all the difference.
If you play a modern graphically intensive game at high resolutions, and streaming at the same time, a decrease in 5fps can mean the difference between rock-solid 60 frames per second, and lurching stomach turning 56fps stutter-fest. Your game and your streaming will be lagging, and your fans will be leaving.
So don’t underestimate how much a second monitor can affect your gameplay and how it can cause lag.
- Disconnect the second monitor if you are not using it.
- If you are using the monitor for team speak or some other comms software, lower the resolution and frame rate as far as the monitor will let you.
- Use Teamspeak on mobile or a different device such as a dedicated cheap Laptop, tablet, or mobile phone.
- If you’ve got the cash, upgrade your GPU/CPU. But I think this is overkill. Just disconnect the monitor and use a different device for what you’d normally have on the second monitor.
Problem 6: Your Streaming Bitrate is too high
The stream’s bitrate is the maximum amount of data that a stream is allowed to use when being sent over the internet.
For example, a 1080p, 60fps stream will often have a bit rate hovering around the 6000 kilobit mark. That’s about 0.75 megabytes.
Generally the higher the bitrate, the higher the quality of the video. But there are two problems with high bitrate videos.
One, if bitrate, such as the one in the example above, is a substantial proportion of your internet connection’s maximum upload speed, then you’ll find that your game will lag.
Two, the higher the bitrate more computational power its take to actually encode the video at the higher bitrate. This can lead to your gaming dropping frames, creating the dreaded stutter we often see ruining brilliant games.
But there are a number of solutions:
- Drop the bitrate in your streaming software’s option menu. OBS let you set the bitrate manually. However, use it with caution, as you should marry a low bitrate with a low frame rate and resolution. Otherwise you’ll end up with a high resolution video that looks muddy and blocked, because the bitrate has been rationed for the higher resolution.
- Lower the resolution of your stream to 720p. A low resolution can still look great as more of the bitrate is spent on providing more detail in the video. Remember it’s the quality of the pixels not the quantity that matters when it comes to streaming at these sorts of resolutions.
- Get a better internet connection. I don’t really recommend this because it’s annoying to have to change your internet provider, so I’d use this as a last resort.
Problem 7: Your streaming frame rate is too high
I think we can all agree that playing games at 60fps is far superior than 30fps.
But, when it comes to streaming, a higher frame rate can cause all sorts of problems.
You see, doubling your streaming frame rate from 30fps to 60fps, actually places a huge burden on your CPU or graphics card. Think about it, you are literally doubling the work your computer has to do to encode the video ready for upload.
It’s no wonder this extra work causes your games to start lagging. Computing Resources that should be put into more shiny textures, and high resolutions is sucked away by your CPU just to encode your stream.
Additionally,increasing the frame rate increase the bandwidth needed to upload your stream which can cause lag caused by a high ping.
So what’s the solution?
- If you’re streaming at 60fps, half it to 30fps.
- Decrease the resolution. This way you can still have a high frame rate but it decreases the burden on your computer and your internet bandwidth.
- Buy a more powerful CPU/GPU.
Problem 8: Your internet connection is too slow
Your internet speed plays a huge role in whether your game will lag or not. But this is not lag as in low frame rate. The type of lag, introduced by slow internet speeds, is measured in milliseconds. So, when you press a button on your mouse, usually within 30-200 milliseconds you’ll get the action happen on screen.
The problem is, when you play over the internet, you sync up constantly to a server. This data exchange takes time which ads “lag” to your game. If your internet speed is slow, this exchange of data can be hindered, and input type between mouse press and action can increase to over quarter of a second.
It may not sound like a lot, but it’s easy to feel that your game has turned sluggish, regardless of the frame rate.
But how does this tie into your stream?
Well, when you stream, you use up quite a large proportion of your internet upload bandwidth. This means the exchange of data between your computer and the server is bottlenecked at your end as the stream and the game data are competing for bandwidth. And this can increase lag between your button presses and your action on screen.
So how can you avoid this?
- Decrease the bitrate of your stream.
- Decrease the resolution of your stream.
- Decrease the frame rate of your stream.
- If you can, increase your internet speed.
Problem 9: You’re running too many programs in the background
One of the main problems I see all of the time with gamers complaining of lag when they stream is, they run too many programs in the background.
Internet browsers, chat software, and even the biggest system hog of all: anti virus software, will eat up resources that could be spent on either encoding your stream, or increasing the framerate of your game.
Seriously, having multiple programs in the background can easily decrease your frame rate by 10-15 percent. That’s the difference between hitting 60fps, or hovering in the mid 55 for a stuttery slideshow.
And again, the solution is simple.
- Close extra programs.
- If you absolutely need to use a chat or a browser, use an old laptop instead. It’s far better. If you don’t have one lying around take a look on amazon. I picked up a Lenovo T420 for under $150 a couple of years back with windows 10 installed. Yes it’s old, but runs smooth and serves as my comms hub and browser computer perfectly when streaming.
- If you absolutely must have all these programs open, upgrade your RAM amount from 8GB to 16GB, and upgrade your CPU, so you have more cores available to throw at different programs. For example, my old CPU was a 4 core Intel i5. But I upgraded to AMD Ryzen 3900X which has 12 cores and 24 threads. And It solved all my problems. Though I think Just closing programs is your best bet.
Problem 10: Your game’s graphics/gameplay settings are too high
Ok, I get it, you’ve got a fancy new RTX 2070 and you want all the graphical fancy stuff switched on, including ray tracing at 4k.
Well, if you try to stream at the same time, you may run into problems. Your computer has finite resources available to perform tasks. And to stream, your CPU or GPU has to perform a very computationally intensive task to encode your stream before spearing it over the internet to your adoring fans.
The problem is, when you try to increase all your graphics to the “UBER” setting, you are sucking up all the resources your computer needs to encode your stream.
So the encoding and the gameplay compete for resources, this often leads to either a stuttery stream, or a major drop in frame rate.
- You have a number of options when it comes to graphics. Lower some of them. You’re not going to notice the difference between high and ultra ray tracing when you get into a fight. So, drop the graphical settings a little bit, claw back some computing time for your stream to be encoded correctly as so your game can run at a higher frame rate.
- Drop the game resolution. You don’t need 4k. 1440p is just fine. When everything is moving you won’t notice the difference.
- Buy a more powerful graphics card / CPU.
Ok so I’ve talked you through a number of problems that can cause your game to lag while you stream. And fortunately each one of them has multiple solutions.
Just as a reminder, most of the above problem can be solved with the following solutions:
- Decrease your game’s graphical settings to free up resources to run at a higher frame rate.
- Decrease your stream’s resolution
- Decrease your stream’s frame rate
- Decrease your stream’s bitrate
- Upgrade to a more powerful CPU
- Upgrade to a more powerful GPU
- Use a dedicated streaming PC with a capture card.
- Buy a cheap used laptop to run your background programs on. (Such as chat and internet browsers).
- Run secondary programs on your mobile phone or tablet
- Improve your internet connection speed
What are the minimum specs of a streaming PC? The minimum specs for a streaming PC really depend on a number of factors, this includes, the game you want to play, the resolution you want to play/stream at, the bitrate of your stream, and the frame rate of your game/stream. For an in-depth look at the minimum specs for a streaming PC take a look at our article here.
Is it better to have a dedicated streaming PC? I would say it is better to have a dedicated streaming PC simply because stream encoding is such a large burden to place on your PC. By keeping your stream encoding on a dedicated streaming PC you free up resources to increase the quality of your stream on the streaming PC and to increase the framerate/resolution of the game on your gaming PC. So, it’s always better to keep them apart.