There is currently an issue that myself (and probably others) are having with OBS in terms of stuttering on their pretty impressively spec'd systems (in my case an Asus R5E, i7 5930, GTX 980 OC, 32GB RAM, SS 850 PRO SSD, Win8.1) while recording and/or broadcasting at 60 frames per second. I have discovered what the issue is related too and how to fix it, so I thought I would share with this community why this may be happening and what they can do to fix it.
The issue is that since Windows 7 (including 8.x), Microsoft is supplying two refresh rates over HDMI, 59hz (or 59.94hz) and 60hz [ http://support.microsoft.com/en-gb/kb/2006076 ]. It appears selecting either refresh rate forces 59.94hz (progressive NTSC) whatever you pick. nVidia confirms this too [ https://forums.geforce.com/default/...resh-rate-stuck-in-59hz/post/3616420/#3616420 ]. Now obviously, this poses a problem for OBS because it does not allow precision control of the frame-rate in the current Windows only version and by only being able to encode at 59.00 or 60.00 fps, this is obviously going to be performance affecting, however, being able to do so will be available soon in the OBS rewrite later on as confirmed by Jim [ https://obsproject.com/forum/threads/please-add-59-94-frames.15466/#post-85757 ].
I am using two LCD monitors of different brand names, sizes and types, both running over HDMI using different brand cables with V-Sync turned ON, and when I record, broadcast or preview (encoding or not) a game at 60fps (x264 or NVENC, on either monitor), there is frequent stuttering in both the actual game -OR- OBS itself, and this depends on which refresh rate I pick for the monitor I am playing the game on which either choice results in very odd behaviour that I cannot really prove. i.e., if I picked 60hz as the monitor refresh rate, the game would stutter but OBS would be smooth, and then if I picked 59hz, then the game would be smooth and OBS would stutter. I do have a hypotheses for this behaviour which I shall not go into but it obviously has something to do with Windows forcing 59.94hz over HDMI.
The solution may be the ability to record at 59.94fps, but the new OBS rewrite is not available on Windows yet. However, there is another workaround which is permenant, and it would be to go back a generation and switch to DVI-D for your recording monitor. With DVI, you normally only have the choice of ONLY 60hz on most (if not all) LCD panels and this is always timed correctly unlike HDMI where 59.94hz is being forced upon you. The only downside to this is losing your audio over this interface, but most people use headsets or external amplifiers to broadcast with anyway. I have also tested that using a DVI to HDMI dongle (that normally comes with graphics cards) which will NOT work as well. Another possible solution could be to turn V-Sync OFF, but this obviously results in running your GPU to the maximum which does not bode well for it's lifetime, and your electricity bill since the TDP will be at maximum. Heck, one could just use a different operating system altogether (OS X, Linux, even Win XP if you are that hardcore).
So in conclusion. In my opinion - but not Microsoft's (albeit a satisfactory excuse), 60hz (or fps) is 'broken' over HDMI on Windows. There will be a workaround soon by being able to encode at 59.94 fps on OBS multiplatform, but there is a permanent workaround right now by using DVI-D instead of HDMI, albeit with the loss of audio over HDMI.
This is how I completely resolved my issue of stuttering and hope this small article can help others too if they are having exact or similar issues like this while trying to encode at 60 frames per second and have fallen foul with messing with every setting possible on OBS and their GPU's control panel.
Thanks for reading and I look forward to reading your comments below, especially if you care to go into this issue more technically, to argue for or against anything I have said, if you have any other workarounds to share, or to just moan at Microsoft to let us decide wether we are connecting a TV or a computer monitor!
The issue is that since Windows 7 (including 8.x), Microsoft is supplying two refresh rates over HDMI, 59hz (or 59.94hz) and 60hz [ http://support.microsoft.com/en-gb/kb/2006076 ]. It appears selecting either refresh rate forces 59.94hz (progressive NTSC) whatever you pick. nVidia confirms this too [ https://forums.geforce.com/default/...resh-rate-stuck-in-59hz/post/3616420/#3616420 ]. Now obviously, this poses a problem for OBS because it does not allow precision control of the frame-rate in the current Windows only version and by only being able to encode at 59.00 or 60.00 fps, this is obviously going to be performance affecting, however, being able to do so will be available soon in the OBS rewrite later on as confirmed by Jim [ https://obsproject.com/forum/threads/please-add-59-94-frames.15466/#post-85757 ].
I am using two LCD monitors of different brand names, sizes and types, both running over HDMI using different brand cables with V-Sync turned ON, and when I record, broadcast or preview (encoding or not) a game at 60fps (x264 or NVENC, on either monitor), there is frequent stuttering in both the actual game -OR- OBS itself, and this depends on which refresh rate I pick for the monitor I am playing the game on which either choice results in very odd behaviour that I cannot really prove. i.e., if I picked 60hz as the monitor refresh rate, the game would stutter but OBS would be smooth, and then if I picked 59hz, then the game would be smooth and OBS would stutter. I do have a hypotheses for this behaviour which I shall not go into but it obviously has something to do with Windows forcing 59.94hz over HDMI.
The solution may be the ability to record at 59.94fps, but the new OBS rewrite is not available on Windows yet. However, there is another workaround which is permenant, and it would be to go back a generation and switch to DVI-D for your recording monitor. With DVI, you normally only have the choice of ONLY 60hz on most (if not all) LCD panels and this is always timed correctly unlike HDMI where 59.94hz is being forced upon you. The only downside to this is losing your audio over this interface, but most people use headsets or external amplifiers to broadcast with anyway. I have also tested that using a DVI to HDMI dongle (that normally comes with graphics cards) which will NOT work as well. Another possible solution could be to turn V-Sync OFF, but this obviously results in running your GPU to the maximum which does not bode well for it's lifetime, and your electricity bill since the TDP will be at maximum. Heck, one could just use a different operating system altogether (OS X, Linux, even Win XP if you are that hardcore).
So in conclusion. In my opinion - but not Microsoft's (albeit a satisfactory excuse), 60hz (or fps) is 'broken' over HDMI on Windows. There will be a workaround soon by being able to encode at 59.94 fps on OBS multiplatform, but there is a permanent workaround right now by using DVI-D instead of HDMI, albeit with the loss of audio over HDMI.
This is how I completely resolved my issue of stuttering and hope this small article can help others too if they are having exact or similar issues like this while trying to encode at 60 frames per second and have fallen foul with messing with every setting possible on OBS and their GPU's control panel.
Thanks for reading and I look forward to reading your comments below, especially if you care to go into this issue more technically, to argue for or against anything I have said, if you have any other workarounds to share, or to just moan at Microsoft to let us decide wether we are connecting a TV or a computer monitor!