Question / Help Frame rate is cut in half / stutters every 10 minutes

Lapppy

Member
As requested in this thread, I am making a new thread for this issue with my log/example.

-----

Example League of Legends video: https://youtu.be/0yN411xvnRA?t=570 The stutter happens at around 9:40. (video is still processing, should be 1080p 60fps.)
Note that... this happens in every game, even just simply recording the desktop.

Every 10 or so minutes, the frame rate of the recording appears to be cut in half for about 5 seconds. It sometimes occurs after a few little frame skips. The time in the recording that it happens is not consistent. Sometimes it happens as late at 15 minutes and as early as 5 minutes.

The game itself usually maintains a steady 60fps during the whole capture. in some cases (see example) the frame rate of the game may fluctuate to 59fps during the stutter event. Most of the time, the frame rate is always a smooth 60fps. (The frame rate will only drop to 59fps like that when OBS itself is actually recording and when the recording stutters.) While recording this example, is one of the first times that I noticed this.

More testing shows that CPU usage does not increase during the stutter events. Not sure about GPU usage...

Most of the time, log files report no dropped or skipped frames. Changing encoding settings do not affect the issue. This happens on x264 (ultrafast and veryfast), quicksync, nvenc, 30fps, 60fps, you name it. In this case, the log file reports that 14 frames were dropped, but i'm sure that way more than that were actually skipped / dropped in the recording.

Display capture is the only capture method that will capture perfectly smooth, until around 10 minutes. Then there is massive stuttering for a few seconds... after that the recording is smooth again for another 10 minutes.
Game capture does not capture at a smooth 60fps. There are stutters everywhere throughout the whole recording.
My laptop can record with Game capture at a perfect 60fps with no stutters at all (i'm only using game capture because I can't use display capture on my laptop)...

I had recently fixed this before by disabling the preview and minimizing OBS while capturing. I have another thread right here from a while back that is related to this issue, but I have since determined that webcams etc do not cause this problem. As of a few weeks ago, the problem has returned.

I have tried many different things to fix this. (for example, disabling transparency on taskbar/start in Windows 10 has no effect...) After reading the original thread, I've recently tried a clean install of OBS MP and running 32bit instead of 64bit. Both of which did not fix the problem.

At first, I thought it was an issue with how Windows 10 handles its desktop capture, but the original thread had nothing to do with display capture... it was with a capture card. This issue isn't necessarily specific to my setup, it seems.

Any help is appreciated... after dealing with this for a long time (almost a year, my first post regarding stuttering in general was January 2015), I would like to finally solve this for good.

Other threads regarding stuttering in general:
https://obsproject.com/forum/threads/noticeable-frameskips-while-recording-with-version-0-11-4.35253
https://obsproject.com/forum/thread...d-missed-frames-preventing-fluid-motion.21144
 

Attachments

  • 2015-11-18 10-22-57.txt
    19.3 KB · Views: 55
Last edited:
I don't know a whole lot about OBS, but I have some ideas that might help.

Are you recording to the same hard drive that LoL is running off of? If you can, try recording to a secondary hard drive.

Have you tried setting output to 720p? (in the "Video" section). Worth a shot if you haven't (might also help out with any problems arising from recording to the same hard drive LoL is on).

Another thought: Can you use MSI Afterburner to see if your GTX 645 is overheating? You should be able to run it in the background while playing a game and recording. Once you stop recording, you can look at Afterburner to see what temp your 645 hits, what it's usage is, etc.

Also, in Output > Recording, look for "Consecutive B-Frame count" and set it to 0 (if you're only recording locally). Not sure if it'll help, but it's worth trying.

Good luck, let me know how it works out!
 

Lapppy

Member
Hey, thanks for the reply!
I don't know a whole lot about OBS, but I have some ideas that might help.

Are you recording to the same hard drive that LoL is running off of? If you can, try recording to a secondary hard drive.

Yes, I am currently recording to the same drive... I have tried to record to an external drive in the past but it didn't seem to help. I'll try again in a while and report back.
Have you tried setting output to 720p? (in the "Video" section). Worth a shot if you haven't (might also help out with any problems arising from recording to the same hard drive LoL is on).

Yes, I have tried different resolutions. Will also try this again.
Another thought: Can you use MSI Afterburner to see if your GTX 645 is overheating? You should be able to run it in the background while playing a game and recording. Once you stop recording, you can look at Afterburner to see what temp your 645 hits, what it's usage is, etc.

Will report back with this later.
Also, in Output > Recording, look for "Consecutive B-Frame count" and set it to 0 (if you're only recording locally). Not sure if it'll help, but it's worth trying.

Good luck, let me know how it works out!
I noticed that option, but there isn't much info about what this does so for now i've left it at its default (I believe it is 2?) I'll try to change it to 0 and see what happens

I've been pretty busy recently so I can't post results until tomorrow. Thanks for the ideas!
 

Lapppy

Member
Alright, here are the results. https://youtu.be/xtrzbMDCNnk?t=505
Stutter happens at around 8:30.


Some notes:
1. MSI Afterburner completely breaks display capture and every time I try to use it, it results in the log file being filled up with an error that I reported a few months ago. Display capture just simply freezes up and the only way to fix that is to restart OBS or recreate the display capture. This isn't a problem when MSI Afterburner is closed.

2. When MSI Afterburner is open, the GPU temperature while recording is approx. 45C. Definitely not overheating. GPU usage is around 50%.

3. MSI Afterburner reports that the framerate is in fact not a flat 60fps, but constantly fluctuates between 59.9 and 60.1. I wonder if forcing v-sync on the driver level could help improve that.

4. The recording was recorded to an external harddrive, scaled down to 720p with a Consecutive B-Frame count of 0. None of these settings appear have an effect on this issue.
 

Attachments

  • 2015-11-20 12-40-24.txt
    37.3 KB · Views: 25
Last edited:
Alright, here are the results. https://youtu.be/xtrzbMDCNnk?t=505
Stutter happens at around 8:30.


Some notes:
1. MSI Afterburner completely breaks display capture and every time I try to use it, it results in the log file being filled up with an error that I reported a few months ago. Display capture just simply freezes up and the only way to fix that is to restart OBS or recreate the display capture. This isn't a problem when MSI Afterburner is closed.

2. When MSI Afterburner is open, the GPU temperature while recording is approx. 45C. Definitely not overheating. GPU usage is around 50%.

3. MSI Afterburner reports that the framerate is in fact not a flat 60fps, but constantly fluctuates between 59.9 and 60.1. I wonder if forcing v-sync on the driver level could help improve that.

4. The recording was recorded to an external harddrive, scaled down to 720p with a Consecutive B-Frame count of 0. None of these settings appear have an effect on this issue.
Sorry for late reply.

Not sure about the display capture problem, sorry.
Are your video drivers up to date? (Cliche suggestion, I know, but always worth checking).
Vsync isn't perfect (what is, in the technology world? XD); I also get FPS fluctuations between 58-60. It shouldn't cause any stuttering for the video (at least, not as much as the video shows). If LoL has a FPS cap (without Vsync) try turning off Vsync in the game, might work better.

Set buffer size (output > recording) to 0. Also under the "Recording" tab, make sure "Low latency" is disabled and keyframe interval is 0.

What recording format do you use? What are your Video settings under "Advanced"?

Edit: Another thought, use MSI Afterburner or Task Manager to monitor RAM usage, see if it spikes or anything.

Edit2: Make sure you have the VS2013 redistributable. Not sure what problems would be caused by not having it. Here's the link to it. The installer will tell you if it's already installed.
 
Last edited:

Lapppy

Member
Are your video drivers up to date? (Cliche suggestion, I know, but always worth checking).
I updated the driver a week or so ago,, which didn't help.
Driver is from November 5, 2015 version 358.91. Fallout 4 Game Ready Driver.
There is a newer driver (359.00) but all it appears to add are more profiles for games and it doesn't fix any issues.. NVIDIA really needs to improve their drivers.

Vsync isn't perfect (what is, in the technology world? XD); I also get FPS fluctuations between 58-60. It shouldn't cause any stuttering for the video (at least, not as much as the video shows). If LoL has a FPS cap (without Vsync) try turning off Vsync in the game, might work better.
Will try this, but I've had more stuttering problems with vsync turned off in the past.

Set buffer size (output > recording) to 0. Also under the "Recording" tab, make sure "Low latency" is disabled and keyframe interval is 0.
Will try these except for the keyframe interval set to 0. NVENC is buggy and does not properly auto set the keyframe interval, resulting in a file that is nearly impossible to edit or playback without lots of issues.
https://obsproject.com/forum/threads/replay-buffer-problems-with-nvenc-fix-found.23663/
https://obsproject.com/forum/thread...ing-crashing-my-video-editing-programs.28292/
Usually OBS automatically sets the keyframe interval to around 5 or 6 frames / seconds? anyways when the setting is 0, if i'm reading the logs correctly.

What recording format do you use? What are your Video settings under "Advanced"?
Recording in FLV with NVENC because it provides the best preformance.
Audio Buffering Time: 1000
Color Format: NV12 (anything else is bad preformance)
YUV Color Space: 601
YUV Color Range: Partial

Edit: Another thought, use MSI Afterburner or Task Manager to monitor RAM usage, see if it spikes or anything.
Will monitor it during my next test.


Edit2: Make sure you have the VS2013 redistributable. Not sure what problems would be caused by not having it. Here's the link to it. The installer will tell you if it's already installed.
Already installed.

Will do another few recordings soon.
 
I updated the driver a week or so ago,, which didn't help.
Driver is from November 5, 2015 version 358.91. Fallout 4 Game Ready Driver.
There is a newer driver (359.00) but all it appears to add are more profiles for games and it doesn't fix any issues.. NVIDIA really needs to improve their drivers.


Will try this, but I've had more stuttering problems with vsync turned off in the past.


Will try these except for the keyframe interval set to 0. NVENC is buggy and does not properly auto set the keyframe interval, resulting in a file that is nearly impossible to edit or playback without lots of issues.
https://obsproject.com/forum/threads/replay-buffer-problems-with-nvenc-fix-found.23663/
https://obsproject.com/forum/thread...ing-crashing-my-video-editing-programs.28292/
Usually OBS automatically sets the keyframe interval to around 5 or 6 frames / seconds? anyways when the setting is 0, if i'm reading the logs correctly.


Recording in FLV with NVENC because it provides the best preformance.
Audio Buffering Time: 1000
Color Format: NV12 (anything else is bad preformance)
YUV Color Space: 601
YUV Color Range: Partial


Will monitor it during my next test.



Already installed.

Will do another few recordings soon.
Your format and settings look good, nothing wrong there. :D
I just had a hiccup in recording testing where the recorded video stuttered horrendously if I went over 10,000 bitrate on CBR (OBS itself also froze for a few moments when the recording was stopped), though neither my GPU or CPU had much load on them (Task Manager didn't show any disk usage, either).
For your next recording test you could try downscaling to 720p and having a VBR of 7500 (YouTube's recommended 720p) while monitoring RAM/etc.and see if that fixes/helps.
 

Lapppy

Member
Your format and settings look good, nothing wrong there. :D
I just had a hiccup in recording testing where the recorded video stuttered horrendously if I went over 10,000 bitrate on CBR (OBS itself also froze for a few moments when the recording was stopped), though neither my GPU or CPU had much load on them (Task Manager didn't show any disk usage, either).
For your next recording test you could try downscaling to 720p and having a VBR of 7500 (YouTube's recommended 720p) while monitoring RAM/etc.and see if that fixes/helps.

Just did two recordings, one with MSI Afterburner and one with Vsync turned off in game. Both were recorded with 7500 VBR at 720p (The quality was actually not too bad, I was expecting worse.)

https://youtu.be/uZM6sM5-XfI?t=515 Stutter happens at around 8:40, and again at 8:55 that lasts for almost a whole minute!!

Notes:
1. MSI Afterburner played nice with OBS today, dunno what the problem was the last time.
2. I monitored RAM usage and also video RAM usage. Both did not spike at all during the stutter event.
3. The video recorded with Vsync OFF is full to the brim with microstutters, both in game and in the recording. Nothing to see there.

One thing to remember is that the problem happens in every game, not just LoL. It happens even when recording the desktop / google chrome. I can try to do a different game for my next test.
I personally think the problem is related to how Windows/OBS handles Display Capture, or the desktop window manager, or in the worst case scenario, related to the hardware (the monitor or the GPU itself). Honestly I wouldn't be surprised if the problem is the GPU... but I would like to rule out other possibilities first.

For example, I see that for whatever reason I have the integrated GPU enabled... I'm going to disable that for my next test. I've noticed in the past that Windows loooves to use the integrated GPU for everything (and you can't just change that) so I'm going to disable it and rule out that cause.

EDIT: Disabling integrated gpu has no effect.
 

Attachments

  • 2015-11-24 20-23-12.txt
    31.5 KB · Views: 23
Last edited:
Just did two recordings, one with MSI Afterburner and one with Vsync turned off in game. Both were recorded with 7500 VBR at 720p (The quality was actually not too bad, I was expecting worse.)

https://youtu.be/uZM6sM5-XfI?t=515 Stutter happens at around 8:40, and again at 8:55 that lasts for almost a whole minute!!

Notes:
1. MSI Afterburner played nice with OBS today, dunno what the problem was the last time.
2. I monitored RAM usage and also video RAM usage. Both did not spike at all during the stutter event.
3. The video recorded with Vsync OFF is full to the brim with microstutters, both in game and in the recording. Nothing to see there.

One thing to remember is that the problem happens in every game, not just LoL. It happens even when recording the desktop / google chrome. I can try to do a different game for my next test.
I personally think the problem is related to how Windows/OBS handles Display Capture, or the desktop window manager, or in the worst case scenario, related to the hardware (the monitor or the GPU itself). Honestly I wouldn't be surprised if the problem is the GPU... but I would like to rule out other possibilities first.

For example, I see that for whatever reason I have the integrated GPU enabled... I'm going to disable that for my next test. I've noticed in the past that Windows loooves to use the integrated GPU for everything (and you can't just change that) so I'm going to disable it and rule out that cause.

EDIT: Disabling integrated gpu has no effect.
Are you using game capture or display/window capture?
 

Lapppy

Member
Are you using game capture or display/window capture?

Display capture, as mentioned previously.
Game capture provides the worst performance with stutters everywhere. Not worth using at all.
Window capture only works when in windowed mode, which isn't useful. On top of that, games don't preform great in borderless window mode in the first place.

Also, minor rant: There have been over 200 views to this thread and Commander Matt is the only one to say anything? Please speak up people! I know there are more of you out there, give me some more ideas to try to solve this problem.
 
Last edited:

Harold

Active Member
Game capture provides the worst performance with stutters everywhere. Not worth using at all.
Except that under normal circumstances, this is the exact opposite of how things are supposed to behave.

Display/Monitor capture is the LEAST efficient capture method.

Have you tried using x264 instead of nvenc?
 

Lapppy

Member
Except that under normal circumstances, this is the exact opposite of how things are supposed to behave.

Display/Monitor capture is the LEAST efficient capture method.

Have you tried using x264 instead of nvenc?

Absolutely, in fact I changed to NVENC to try and fix this problem and found that NVENC preformed better than x264.
 
Display capture, as mentioned previously.
Game capture provides the worst performance with stutters everywhere. Not worth using at all.
Window capture only works when in windowed mode, which isn't useful. On top of that, games don't preform great in borderless window mode in the first place.

Also, minor rant: There have been over 200 views to this thread and Commander Matt is the only one to say anything? Please speak up people! I know there are more of you out there, give me some more ideas to try to solve this problem.
Okay, I have an idea, I think I know why this is happening. Your GTX has a 128-bit memory interface. I know that GPU encoding uses memory resources (not sure where exactly, but I know it copies from the video buffer, or whatever it is called [someone correct me if I'm wrong]). As 128-bit is the lower of the 3 standards (128, then 256, then 512) maybe the stutters come from when that 128-bit is too full so it stutters a bit? The thread you linked to "in this thread," the OP also has a 128-bit GPU.
This is a theory, though, might not be the actual problem.

Try switching to your integrated GPU (changing what port your monitor is connected to should work, as long as the iGPU is enabled) and using Intel QuickSync (that's what Intel's version of NVENC is, right?). If it works well, it could be a workaround. Plus, you'd have a dedicated PhysX card.

If the above doesn't work (changing to iGPU so the iGPU is running the game and doing the encoding) then try lowering graphics settings in LoL (if you can) and see if that fixes it.

A final, final suggestion if none of the above work:
Have you tried Nvidia shadow play? I don't know anything about it, other than it records videos with (apparently) good performance on Nvidia cards. AMD doesn't have a Shadow Play equivalent (that I know of) so I can't even guess how it works.

If none of the above work... I'm out of ideas, sorry. :(
 

Lapppy

Member
Try switching to your integrated GPU (changing what port your monitor is connected to should work, as long as the iGPU is enabled) and using Intel QuickSync (that's what Intel's version of NVENC is, right?). If it works well, it could be a workaround. Plus, you'd have a dedicated PhysX card.
I cannot plug in a monitor to the iGPU, there are only ports for the dedicated GPU. The iGPU is only there because it came with the CPU that the computer was built with, and therefore is only good for hardware encoding. I can try QuickSync for my next test, but not much else :|


... So, Here is my most recent test! Not LoL this time, instead I recorded a browser window running a vsync test. It's pretty lightweight and shouldn't cause issues if the problem is related to performance.
This time using QuickSync of course.
Sadly, the stutter happens at around 6:40. https://youtu.be/lLj45WKvZxw?t=390

A final, final suggestion if none of the above work:
Have you tried Nvidia shadow play? I don't know anything about it, other than it records videos with (apparently) good performance on Nvidia cards. AMD doesn't have a Shadow Play equivalent (that I know of) so I can't even guess how it works.
I have tried shadow play before, but I don't like its restrictions (requires bloatware geforce experience, not nearly as configurable, cant easily capture certain apps, etc). It also outright refuses to work sometimes.

If none of the above work... I'm out of ideas, sorry. :(
Thanks so much for helping out! I really appreciate it!! :)

-----------------

I've tried something recently to try and fix this:
Recently I've been having a similar issue on my gaming laptop, where every so often the recording would stutter for about 5 seconds and then return to a full 60fps. The difference is that it happens every 30 seconds rather than every 10 minutes, give or take.

A common fix for stuttering that people have found is to use a tool that sets custom resolutions, and make sure that the monitors refresh rate is exactly 60.000Hz. It turns out that my laptop screen is not running at exactly 60.000Hz, but instead it is apparently running at 60.007Hz. How awful.

Normally I would just change it to 60.000Hz, but due to how my laptop was built I can't just fix the refresh rate because the screen is always rendered by the iGPU, which doesn't support monitor EDID overrides (by the way, I hate NVIDIA Optimus, so, so very much. If there's one thing I hate about modern day laptops, it's the reliance on the iGPU). So as a workaround, I plugged in an external monitor via HDMI that was reported as exactly 60.000Hz, used that as my primary display and turned the built in display off entirely.

And... the problem was fixed. No stutters to be found anywhere! I could just call the problem solved and stop there, but I don't want to have to use an external monitor just so I can record stutter free. This is a laptop, after all :). So I did some more searching and testing, and found a fix without using an external monitor.

I ran the vsync test you see in the video: www.vsynctester.com and made note of what the frame rate was. In my laptops case, the frame rate was 60.017 fps (Not the same as the refresh rate... hmm). One of the features of OBS MP is the ability to set frame rates in the form of a fraction, so that you can record in 29.97 fps, etc. The fix for the stuttering on my laptop was to set the frame rate in OBS to match exactly to the frame rate reported in the vsync test (60.017fps). This is set in OBS as a fraction 60017 / 1000. This fixed the stuttering and I am now able to record on my laptop while using the built in display without issues.

I tried a similar fix for the desktop pc. The custom resolution tool reports that the monitor is a 60.000Hz monitor.
However, as seen in the video the framerate of the test is reported as 60.002 fps or so.
So, in OBS I tried setting the frame rate to 60002/1000.

Unfortunately it did not fix the problem. I thought I had it for sure, lol. But I feel I am getting somewhere.
Say for example that the problem is caused by a mismatch with frame rate in OBS and the refresh rate of the monitor. It makes sense that 60.002 fps would cause stutters less often than 60.017 fps, which explains why the stutter happens every 5-10 minutes instead of every 30 seconds or so. The closer the frame rate is to 60.000, the longer it takes for a de-sync to happen.

So, while this fixed the problem for my laptop... (which is really great!) It got me thinking... in the case of my laptop, why does OBS have to match your monitors refresh rate to around a 1/100th of a frame to get an accurate capture? No other recording software seems to have this problem. I'm eagerly looking forward to the update to OBS that removes and/or fixes this restriction :) And, it might fix the problem with the desktop computer as well.

I'm always looking for ideas to try and fix this and appreciate the help, so don't be afraid to post! Thanks all.
 
That made me remember a stuttering issue I had with my laptop and TV, maybe it could help your desktop.
As I have a desktop now, my laptop is semi-obsolete. I don't use it much, only to write school papers on the couch or do some research. I also hook it up to my family's TV so we can watch Netflix movies on the TV.
Some time ago, the screen began stuttering. Just enough so that it was extremely annoying. And I mean extremely.

Long story short, I set my TV's resolution (and my laptop's) to 1360x768 (I think that's the resolution... 1360 for sure, not sure about the 768. The laptop was 1360, and the TV was 1366), and the stuttering was gone.

Is LoL the same resolution as your monitor? Is your monitor a 16:9 resolution?
 

Lapppy

Member
That made me remember a stuttering issue I had with my laptop and TV, maybe it could help your desktop.
As I have a desktop now, my laptop is semi-obsolete. I don't use it much, only to write school papers on the couch or do some research. I also hook it up to my family's TV so we can watch Netflix movies on the TV.
Some time ago, the screen began stuttering. Just enough so that it was extremely annoying. And I mean extremely.

Long story short, I set my TV's resolution (and my laptop's) to 1360x768 (I think that's the resolution... 1360 for sure, not sure about the 768. The laptop was 1360, and the TV was 1366), and the stuttering was gone.

Is LoL the same resolution as your monitor? Is your monitor a 16:9 resolution?

The monitor is a 1920x1080 monitor, and anything that runs on it is 1920x1080.

A while back I read some reviews on the GTX 645, and one thing that was commonly said about this card was that it wasn't meant to be playing games at 1080p, and apparently it is designed to play games at 720p. LoL can run on almost anything these days, so it runs at 1080p with no issues. Other games, depending on what game it is will either run OK at 1080p, while others will struggle.

I wonder if down scaling my whole desktop resolution to 720p will have any affect. Will try this later and report back.

EDIT: Downscaling everything to 720 has no effect.
 
Last edited:

Lapppy

Member
Tried a number of different things recently:

1. Trying different versions of OBS-MP, down to 0.10.1. All have this same stutter problem.
2. Re-enabling core parking didn't seem to help
3. Lowering some graphical features of the DWM. Did not help
4. Tweaking some NVIDIA graphics settings (max pre-rendered frames, power management, triple buffering, etc)
5. Monitoring DPC latency. No issues during the stutters.

I recently did a test that compared all of the capture methods by using all of them at the same time. Some notes on that
1. When all of the capture methods are compared side by side, the stutter issue is observed in Display Capture and Game Capture. Window Capture does not have the issue.
2. The issue is first observed in display capture, followed by game capture a few seconds later.
3. Sometimes Game capture and Window capture have small micro stutters in the capture, but Display capture does not have these.

In the meantime, it appears I have somewhat alleviated the issue by setting the frame rate to 60.0021 fps. Though to be honest, this is absurd. I'm pretty sure that I shouldn't have to do that, and I really hope that this doesn't become a long term solution for people who have similar issues.

Also, OBS has a limit on the number of digits you can set for a fractional fps value, so I can't easily set it to what I believe would limit the issue significantly. (For the record, it is 60.00207 fps)

Lastly while I am typing this, if the preview window is to be trusted (usually it isn't...), setting the power scheme to Balanced might have helped the issue as well.
 

DorinDXN

Member
I tried OBS MP 0.12.3 and seems to be no stuttering in my case (different from yours in terms of hardware).
Posted just in case you don't know that 0.12.3 is out.

cheers,
Dorin
 

DorinDXN

Member
Last edited:
Top