One thing that has always bugged me is why Nvidia doesn't allow Shadowplay functionality on GT840M class mobile graphics cards. These cards have all the bells and the whistles to support it, but Nvidia wants to keep the functionality exclusive to the GTX class. This situation suddenly changed when I updated my graphics driver yesterday and saw Shadowplay button blinking at me.
After some investigation and furious Googling, it turns out it still doesn't work. There's some kind of hard-switch in the driver that's still turned off. It sucks. This didn't stop me though, I really wanted this (or a similar) functionality one way or the other. I know my Intel i5-4200H CPU supports Quicksync (most of them do), which uses the on-board graphics card to encode videos with very little performance impact. After some fiddling, it turned out OBS has the perfect support for it so I quickly made a local recording profile.
For those who are not familiar with OBS, here is what you have to do:
First, go to Broadcast Settings tab and set the Mode to "File Output Only". This is to stop you from accidentally starting streaming if you already use OBS. Also set where the videos are going to be recorded to.
Now go to the Encoding tab and set the encoder to Quick Sync. Set the bitrate to something suitable for local recording such as 50mbit. Using CBR is up to you, but I prefer to keep it on to squeeze out a bit more quality.
Switch to the Video tab. This is where you set at which resolution you want to capture your footage. Quick Sync can capture up to 1080p@60FPS so you're pretty much good for very resolution. I use 1366x768 since that's what I use for playing MWO. The FPS setting is a bit tricky. After some testing I realized 60FPS impacts my FPS and game fluidity greatly, I don't want to record at 30FPS (though this pretty much has zero impact) so I set it at 45FPS. I rarely go over 40FPS in combat anyway. Set the audio settings to your liking.
We'll also make a stop at Hotkeys to set our Recording Start/Stop keys. No screen is necessary here pick what you're comfortable with.
Our last stop is the Advanced tab. It looks a bit scary, but we won't change many things here. Tick "Multithread Optimization" if it isn't on already. I set the Quicksync quality setting to balanced. Using the best quality setting introduces microstutters while making no noticable change in video quality. At 50mbit/s, we don't need much processing done on the video anyway. Also don't forget to tick CFR (Constant Frame Rate) which makes the video more video editing software friendly.
Now save your settings and go back to the main screen (don't mess with the Quicksync tab). If you don't already have one, right click inside the "Scenes" tab and add a new scene. After you did that, now right click inside the "Sources" tab and select "Add>Game Capture". Make sure MWO is running and select the process "[MWOClient] MechWarrior Online". Tick "Stretch image to screen" and "Capture mouse cursor".
We're almost done, but let's check if everything's working. Go ahead and click "Preview" on the main screen. Briefly alt-tab back into the game game and then alt-tab back out. Check the OBS preview screen, does the game occupy the whole screen? If yes, awesome. If not right, click on the "Edit Scene" button and right click inside the preview area. Select "Position/Size>Fit to screen".
Lastly, when you're sure everything's fine, right click on the upper preview area of OBS and untick "enable preview". This will stop OBS from unnecessarily giving you a preview in the background and reducing your FPS. Also, make sure your game is running in full screen.
Voila! With minimal FPS loss and almost zero micro-stutters (as opposed to the stuttery MJPEG capture of the MSI Afterburner), I can now record 50mbit/s@45FPS quality videos without bringing my laptop to a crawl.