Hi my name is Chris and this is Battle(non)sense
Last time I told you about a really crazy issue that I had with ShadowPlay, where recordings
would have black frames or repeated frames when I connected my monitor
to the wrong DisplayPort connector on my graphics card.
As it turns out, Nvidia knows about this issue as stated by the Nvidia Germany twitter account,
so we can only hope that they will fix this issue soon.
So when it's working, then Nvidia's ShadowPlay is a really great, free feature that I've
been using a lot in the last few years.
But as a content producer and a gamer, I need a solution that works all the time.
I don't want to spend an entire weekend trying to figure out what caused my gameplay captures
to get corrupted.
I have very little time to just sit down and play a game for fun, so when I hit that record
button, then I want to be sure that it just works.
So as I mentioned in my last video, I set out to find an alternative to ShadowPlay which
also uses Nvidia's NVENC to encode video, as that has a much smaller performance impact
than x264 software encoding, which is also why I am exclusively looking at tools that
support NVENC for encoding.
And that rules out other tools like DxTory.
So the tools that I am going to compare to ShadowPlay, are OBS,
Bandicam
and Action!
So what did I know about these tools before I tested them.
OBS is a free Open Source software and compared to ShadowPlay its biggest downside is probably
that it doesn't have an in-game overlay.
This means that unless you have a 2nd monitor where you run OBS, you don't know if it
detected your game, you don't know if it did start to record, and you don't know
if the Replay was saved after you pressed the key on your keyboard.
Recordings can have up to 6 audio tracks, which is great as you can then
have one track for the audio of the game,
another one for the audio of your Voice Over IP software
like TeamSpeak or discord, and another one for your microphone.
This helps you when you edit the video, as you then have full control over these
separate audio sources.
The file names of the recordings can be customized, but unlike ShadowPlay, OBS is sadly unable
to use the name of the game for the filename, which makes it a bit harder
to organise your recordings.
A really cool feature of OBS is that you can use a 2nd graphics card for the video encoding,
which I will tell you more about in a minute.
It also comes with a Replay Buffer, however it stores the video in your RAM, which means
that you need at least 16Gb's of RAM as the Replay Buffer needs about 2GB for 8 minutes
of gameplay when you record at 1080p with 60FPS and a quality setting of 20 for NVENC.
OBS only records with CFR or Constant Frame Rate, which is a bit more demanding and results
in larger files.
However this also has its benefits which I will tell you more about later.
Bandicam costs 39 US Dollars and you need one license per seat or PC.
Like ShadowPlay it has an in-game overlay, and you can only record 2 audio tracks,
but unlike ShadowPlay you can select the source for your primary audio track.
You can customize the filename of your recordings. And you can use a 2nd GPU for the NVENC encoding,
but sadly it doesn't have a Replay Buffer, and while you can choose between
Variable and Constant Bit Rate, it only records with a Variable Frame Rate.
Action! is cheaper than Bandicam, but also needs one license per PC.
It has an in-game overlay and it also only supports a maximum of 2 audio tracks.
Sadly you can't customize the filenames but it uses a system very similar to ShadowPlay
to keep things organised.
It cannot use a 2nd GPU for NVENC encoding, but it does come with a Replay Buffer
which is sadly limited to 13 minutes and 1080p according to their website.
Also like ShadowPlay and Bandicam it only uses a Variable Frame Rate for the recordings.
Now what's up with using a 2nd GPU for the NVENC video encoding.
The idea behind this is that you add a less powerful, maybe an older graphics card, which
then takes care of the video encoding so that your primary graphics card has more power
left to render the game, which should slightly increase the frame rate.
So how can you do this and what do you need to pay attention to.
So, when you look inside your PC then your current graphics card will be installed in
a PCI-E slot which provides 16 PCI-E lanes.
Depending on where you install your 2nd graphics card, your primary card might only then get
8 PCI-E lanes, which you can see here inside the GPU-Z tool.
Based on tests that other YouTubers and websites did, it seems the x8 mode won't become a
bottleneck, even for powerful cards like a GTX 1080.
However if you want that your card has access to all 16 PCI-E lanes, then you should take
a look at the manual of your mainboard, as some like the ASUS Maximus X Apex, has one
PCI-E slot which gets 4 lanes from the Chipset, which is more than enough for NVENC encoding,
and so your primary card will still get 16 PCI-E lanes when the 2nd card is installed.
In case that you have 2 monitors you now can either have both connected to your primary graphics card,
or you connect your 2nd monitor to your 2nd graphics card, which OBS does
benefit from as I will show you a bit later.
Now to have OBS use the 2nd GPU for the encoding, you go to the recording settings, select NVENC
as encoder, and change the GPU from 0 to 1.
You can also use this for streaming if you want to.
I also found that using CQP, or image quality based encoding, with a value of 20 and BluRay
as profile, provided very good image quality and good performance inside of Adobe Premiere
while any other preset would result in very sluggish timeline scrubbing.
So to do the same in Bandicam you go to video, click on settings, select H264 NVENC, and
select your 2nd graphics card in the GPU device dropdown menu.
I ended up using 90 for quality, which made the recordings look nearly as good as what
I got in OBS – which is much better than what ShadowPlay creates even at the highest bitrate.
Then you want to test if the 2nd card is actually used for the encoding.
To do that you open GPU-Z and select your 2nd graphics card, when you then start to
capture your gameplay then you will see the GPU load increase, which confirms that the
encoder uses the 2nd graphics card instead of the primary one.
Now to find out how these tools affect the performance of the game that you are recording,
I did quite many tests with the Unigine Superposition Benchmark.
There are a many numbers in this chart, so I am not going to read out all of them,
but if you want to take a closer look then you can find a link to the results in the description
down below.
So with all recording tools disable, and with the benchmark running in exclusive full screen mode,
I got a minimum frame rate of 86.91, an average of 116.46 and a maximum frame rate
of 158.03.
Just by having OBS running on the 2nd monitor, which was connected to my primary graphics card,
I lost about 10 frames per second on average.
And this was not just in a single test, I ran all these tests multiple times to make sure
that I get conclusive results.
When I disabled the preview in OBS then this increased the average frame rate by about
1 FPS.
When I connected the 2nd monitor to my GTX 1050 and had OBS running there then this had
a positive impact on the frame rate as you can see here, where you should not only look
at the average but also the minimum and maximum frame rate results.
So just by launching OBS – mind you I am not recording yet, it just hooked into the
games process to be able to capture it - you lose 10FPS when your primary graphics card
has to draw OBS.
I am not sure if there is a technical limitation that is responsible for this major frame rate decrease,
but since neither Bandicam nor Action! cause a lower frame rate just by having them
active and drawing their overlay inside the game, I hope that the OBS developers can do
something about that performance issue.
Now let's talk about the performance when we are recording gameplay.
ShadowPlay reduces the average frame rate by about 3 frames
When OBS uses the primary graphics card for the encoding then you lose about 10FPS on
average – which means that compared to just having OBS running, the frame rate stays pretty
much the same while recording which is interesting.
When you then move OBS over to the 2nd graphics card and also have that 2nd card do the encoding,
then you regain about 5FPS which means that it's nearly on the same level as ShadowPlay now.
The story is similar with Bandicam, where we also see a FPS increase when it uses the
2nd graphics card for encoding.
Action! doesn't have the ability to use a 2nd graphics card for encoding, but not
only that, it also had the biggest impact on the frame rate of the benchmark with about
14FPS less on average.
I then repeated the same set of tests when the benchmark was running in borderless windowed
mode, which resulted in a lower frame rate overall, which is one of the reasons why you
should always play in exclusive fullscreen mode as that provides the highest frame rates
and the lowest input lag.
So even though the frame rates are lower due to the borderless windowed mode, the results
from the encoding tests are very similar to those from the exclusive fullscreen mode,
as using the 2nd graphics card for the encoding slightly increased the frame rates, and Action!
again caused the biggest FPS reduction of all 4 recording tools.
So adding a 2nd graphics card and have it do the encoding, increases the performance
of the game during recording and streaming.
That said, the performance gain is not that big, and many of you will probably say that
it's not worth it and that's a valid opinion.
But for some of you it might be interesting to install a 2nd graphics card and see how
that affects the performance of the games while streaming or recording gameplay,
as you do get closer to the performance offered by ShadowPlay while you get superior image quality.
As you might know, ShadowPlay cannot record more than 60FPS, while OBS, Bandicam and Action!
allow you to capture at higher rates.
So, I did another set of tests using the Benchmark in Rise of the Tomb Raider where I recorded
the gameplay at 120FPS.
With OBS running on the GTX 1080 and using it for the encoding, the average frame rate
dropped by about 28FPS But when I moved OBS over to the 1050 and
had that do the encoding, then I only lost just 7FPS while recording 120FPS at 1080p.
The story is similar with Bandicam, just that OBS manages to provide higher frame rates
while recording at 120FPS on the 1050.
Action! is sadly again at the bottom of this list with the biggest FPS loss while recording
at 120FPS.
So what is the conclusion then.
To find out we should have a look at my list of pros and cons after using OBS, Bandicam and Action!
OBS is free and open source.
It uses a constant frame rate to record videos which helps to avoid video and audio sync issues
especially during editing.
It offers a Replay Buffer. You can use a 2nd GPU to do the NVENC encoding.
The encoder settings are highly customizable. Performance is close to ShadowPlay when you
using a 2nd graphics card. You can get better image quality than ShadowPlay.
60FPS recordings feel very smooth, maybe thanks to recording with CFR.
You can have up to 6 audio tracks in your recordings which is great for editing.
I never had a single corrupted recording. And it supports plugins.
But just by launching OBS you reduce the games frame rate.
And tools like RTSS can cause problems for the game capture – I currently have the
problem that I must close RTSS or OBS will not detect Overwatch.
I will even get a black screen when I select it manually
as the hook fails when RTSS is active.
I know that others don't have that issue and I only encounter it with Overwatch.
So I don't know why it happens but I still want to mention it as that might be also be problem
for others.
So if you are looking for a ShadowPlay alternative then probably the biggest downside of OBS
is that it does not have any in-game overlay.
This means that when you have just one monitor, then you have no idea if OBS detected the
game that you are playing, you have no way to tell if the recording is active and you
get absolutely no feedback at all when you press the hotkey to save the Replay Buffer.
So if you can't run OBS on a 2nd monitor to check these things, then this might be
the only reason for your not to use OBS as this missing feedback makes it hard to use OBS.
Sadly there are also no plugins that fully resolve this issue,
at least not as far as I am aware of.
Then the Replay Buffer is not reset when you save it.
This means that when you have 8 minutes of gameplay in your Replay Buffer and then save it,
then you will get a videofile that is 8 minutes long.
When you save the replay buffer again one minute later, then you will get another 8 minutes
long video, instead of a 1 minute long video.
I would really prefer the Replay Buffer to reset every time I save the buffer,
like it does in ShadowPlay and Action!
Another concern about the Replay Buffer is that it is stored in your RAM.
I would really like to get the option to store it on a drive like ShadowPlay and Action! do,
as that helps gamers who don't have that much RAM in their system.
And lastly, unlike ShadowPlay, Bandicam and Action!
OBS cannot use the title of the game for the recorded video file, which makes organising
the videos a bit harder than it has to be.
Bandicam provided the best performance while recording.
It can use a 2nd GPU for NVENC, and when you use a 2nd GPU then you get a performance that
is very close to ShadowPlay, with a video quality that is better than what ShadowPlay
overs, but not quite as good as what I got in OBS.
However bandicam sometimes failed to detect the game – I had to launch it multiple times
to get it to show the overlay and record it.
But the even bigger issue was that when I didn't stop the recording before I closed
the game, or when a game crashed, then the active recording was corrupted, and I could
not recover it.
Bandicam does come with a tool to fix broken recordings but this does not work with mp4 files.
It also does not have a Replay Buffer and it only records with Variable Frame Rate which
can cause audio and video sync issues.
Also 60FPS recordings in OBS felt smoother for some reason, which could be down to OBS
recording at a constant frame rate.
And Bandicam only supports 2 audio tracks which leaves you with less freedom when editing
your recorded footage.
Now how about Action.
Unlike OBS and Bandicam it never failed to detect a game, it comes with a Replay Buffer
and unlike Bandicam it never corrupted a recording.
However, the Replay Buffer is limited to 13 minutes and - according to the website- 1080p
The encoder options are very limited as you can only choose between 4 different presets.
You cannot use a 2nd GPU to do the NVENC encoding.
It only supports recording with a variable frame rate.
60FPS recordings don't feel as smooth as those from OBS.
It only supports 2 audio tracks which again limits your options if you are a content producer.
And it had the worst performance of all tested tools as, it had the biggest impact on the
Frame Rate of the game.
So which of these tools should you choose then.
Well, if you don't need more than 2 audio tracks and if the ShadowPlay recordings don't
give you a headache when you edit them, then you can just stick with ShadowPlay.
But if you want the best possible video quality, the smoothest recordings, 3 or more audio tracks,
a Replay Buffer, high performance encoding and the ability to record at 120FPS
for some sick slow motion frag videos, then OBS is the best option.
You just have to find a way to deal with the issue that it doesn't have an in-game overlay
and that the Game Capture sometimes requires that you manually select the process
of the game that you want to capture.
If you are a streamer and already use OBS, then I encourage you to try and use a
2nd GPU for the NVENC encoding.
I have had a few people try that out and they said that this fixed the frame drops that
they had while streaming.
Let me know in the comments down below if that worked for you too.
Now if you don't need a Replay Buffer, or more than 2 audio tracks
but cannot live without an in-game overlay and want better video quality
or the ability to record with 120FPS,
then Bandicam is a good solution
as it doesn't have a big impact on the games frame rate while recording,
and it also allows you to enhance the recording performance
by using a 2nd GPU for NVENC.
However, to avoid that you lose a great gameplay moment to a broken recording,
you might want to create several shorter recordings
and you absolutely want to make sure that you
stop the recording before you exit the game.
If Action! would allow you to tune the encoder settings to make the video quality better
than ShadowPlay's, or if it allowed you to choose CFR instead of VFR, then I could
live with the lower frame rate that you get while capturing your gameplay.
And I might even recommend it over Bandicam then, as it never corrupted a recording and
comes with a Replay Buffer.
But based on the versions that I tested, I highly recommend that you give OBS and Bandicam
a shot when you are looking for a ShadowPlay alternative.
So let me know in the comments down below which recording software you use,
and if you tired to use a 2nd GPU for NVENC encoding
I would be very interested to hear how that worked for you.
If you enjoy my videos then it would be great if you could support me on Patreon,
as YouTube's ad revenue is sadly not enough anymore to run a niche channel like mine.
Without the awesome support that I get from my patrons,
Battle(non)sense would not exists anymore.
You can find a link to my patreon in the description down below, where you will also find links
to my social accounts in case that you want to stay up to date on the videos that I am
working on.
So if you enjoyed this video then please give it a like, subscribe for more
and I hope to see you next time!
Until then, have a nice day and take care,
my name is Chris and this was Battle(non)sense.
No comments:
Post a Comment