Question / Help 120hz/144hz OBS jitter

Bensam123

Member
Ok, so I recently upgraded to a VG248QE 144hz monitor and it's pure sex, but OBS seems to be having some issues with it. I don't even know if it's exactly with it, but after installing the monitor whenever I toggle OBS on I get microstuttering and jitter galore. Playing LoL my framerate goes all over the place. From 240 down to 43 was the lowest I saw it. I've tried numerous things to fix it (120hz doesn't make a difference over 144hz), game capture doesn't matter. DXtory doesn't matter, I haven't tried software capture, but I'm guessing it also wouldn't matter. DXtory also takes 3-4 F12 keypresses before it finally hooks the game for some reason, but doesn't display any errors in the log.

I don't know if it's the refresh rate or going from 1680x1050 to 1920x1080. Either way somethings really messed up. Even having OBS encoding (just a black screen) in the background without DXtory actually capturing yields ridiculously sporadic performance. The other thing that I ended up doing between the last time I tried OBS (the day before I got my monitor and everything was working fine) was I upgraded to .47a. Everything worked fine in test11.

So it's either the resolution, the refresh rate, the OBS version or any of the combination.

Code:
Open Broadcaster Software v0.47a - 32bit (´・ω・`)
-------------------------------
CPU Name: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
CPU Speed: 3403MHz
Physical Memory:  4095MB Total, 3156MB Free
stepping id: 9, model 10, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
Windows Version: 6.1 Build 7601 S
Aero is Enabled
------------------------------------------
Adapter 1
  Video Adapter: AMD Radeon HD 7800 Series
  Video Adapter Dedicated Video Memory: 2119376896
  Video Adapter Shared System Memory: 3965161472
------------------------------------------
Adapter 2
  Video Adapter: Intel(R) HD Graphics 4000
  Video Adapter Dedicated Video Memory: 67108864
  Video Adapter Shared System Memory: 1711276032
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1920x1080
  Output resolution: 1280x720
------------------------------------------
Loading up D3D10...
Playback device Default
------------------------------------------
Using desktop audio input: Speakers (4- Auzentech X-Fi Forte)
Using 7.1 surround speaker setup (experimental)
------------------------------------------
Using auxilary audio input: Line 2 (Virtual Audio Cable)
------------------------------------------
Audio Encoding: AAC
    bitrate: 128
------------------------------------------
    device: Dxtory Video 1,
    device id (null),
    chosen type: RGB32, usingFourCC: false, res: 1920x1080 - 1920x1080, fps: 30-30, fourCC: 00000000

Using directshow input
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 1280, height: 720
    preset: veryfast
    CBR: no
    CFR: no
    max bitrate: 3100
    buffer size: 5000
    quality: 9
------------------------------------------
Total frames rendered: 40719, number of frames that lagged: 51 (0.13%) (it's okay for some frames to lag)
=====Stream End=======================================================================
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1920x1080
  Output resolution: 1280x720
------------------------------------------
Loading up D3D10...
Playback device Default
------------------------------------------
Using desktop audio input: Speakers (4- Auzentech X-Fi Forte)
Using 7.1 surround speaker setup (experimental)
------------------------------------------
Using auxilary audio input: Line 2 (Virtual Audio Cable)
------------------------------------------
Audio Encoding: AAC
    bitrate: 128
------------------------------------------
    device: Dxtory Video 1,
    device id (null),
    chosen type: RGB32, usingFourCC: false, res: 1920x1080 - 1920x1080, fps: 30-30, fourCC: 00000000

Using directshow input
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 1280, height: 720
    preset: veryfast
    CBR: no
    CFR: no
    max bitrate: 3100
    buffer size: 5000
    quality: 9
------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++
  New Scene
Using graphics capture
SharedTexCapture hooked
SharedTexCapture hooked
Total frames rendered: 61963, number of frames that lagged: 49 (0.08%) (it's okay for some frames to lag)
=====Stream End=======================================================================
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1920x1080
  Output resolution: 1280x720
------------------------------------------
Loading up D3D10...
Playback device Default
------------------------------------------
Using desktop audio input: Speakers (4- Auzentech X-Fi Forte)
Using 7.1 surround speaker setup (experimental)
------------------------------------------
Using auxilary audio input: Line 2 (Virtual Audio Cable)
------------------------------------------
Audio Encoding: AAC
    bitrate: 128
Using graphics capture
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 1280, height: 720
    preset: veryfast
    CBR: no
    CFR: no
    max bitrate: 3100
    buffer size: 5000
    quality: 9
------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++
  New Scene
------------------------------------------
    device: Dxtory Video 1,
    device id (null),
    chosen type: RGB32, usingFourCC: false, res: 1920x1080 - 1920x1080, fps: 30-30, fourCC: 00000000

Using directshow input
Total frames rendered: 9101, number of frames that lagged: 25 (0.27%) (it's okay for some frames to lag)
=====Stream End=======================================================================
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1920x1080
  Output resolution: 960x540
------------------------------------------
Loading up D3D10...
Playback device Default
------------------------------------------
Using desktop audio input: Speakers (4- Auzentech X-Fi Forte)
Using 7.1 surround speaker setup (experimental)
------------------------------------------
Using auxilary audio input: Line 2 (Virtual Audio Cable)
------------------------------------------
Audio Encoding: AAC
    bitrate: 128
------------------------------------------
    device: Dxtory Video 1,
    device id (null),
    chosen type: RGB32, usingFourCC: false, res: 1920x1080 - 1920x1080, fps: 30-30, fourCC: 00000000

Using directshow input
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 960, height: 540
    preset: veryfast
    CBR: no
    CFR: no
    max bitrate: 3100
    buffer size: 5000
    quality: 9
------------------------------------------
Total frames rendered: 21764, number of frames that lagged: 5 (0.02%) (it's okay for some frames to lag)
=====Stream End=======================================================================
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1920x1080
  Output resolution: 1280x720
------------------------------------------
Loading up D3D10...
Playback device Default
------------------------------------------
Using desktop audio input: Speakers (4- Auzentech X-Fi Forte)
Using 7.1 surround speaker setup (experimental)
------------------------------------------
Using auxilary audio input: Line 2 (Virtual Audio Cable)
------------------------------------------
Audio Encoding: AAC
    bitrate: 128
------------------------------------------
    device: Dxtory Video 1,
    device id (null),
    chosen type: RGB32, usingFourCC: false, res: 1920x1080 - 1920x1080, fps: 30-30, fourCC: 00000000

Using directshow input
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 1280, height: 720
    preset: veryfast
    CBR: no
    CFR: no
    max bitrate: 3100
    buffer size: 5000
    quality: 9
------------------------------------------
Total frames rendered: 7884, number of frames that lagged: 14 (0.18%) (it's okay for some frames to lag)
=====Stream End=======================================================================
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 1920x1080
  Output resolution: 1280x720
------------------------------------------
Loading up D3D10...
Playback device Default
------------------------------------------
Using desktop audio input: Speakers (4- Auzentech X-Fi Forte)
Using 7.1 surround speaker setup (experimental)
------------------------------------------
Using auxilary audio input: Line 2 (Virtual Audio Cable)
------------------------------------------
Audio Encoding: AAC
    bitrate: 128
------------------------------------------
    device: Dxtory Video 1,
    device id (null),
    chosen type: RGB32, usingFourCC: false, res: 1920x1080 - 1920x1080, fps: 30-30, fourCC: 00000000

Using directshow input
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 1280, height: 720
    preset: veryfast
    CBR: no
    CFR: no
    max bitrate: 3100
    buffer size: 5000
    quality: 9
------------------------------------------
Total frames rendered: 32237, number of frames that lagged: 9 (0.03%) (it's okay for some frames to lag)
=====Stream End=======================================================================

Profiler results:

==============================================================
frame - [100%] [avg time: 5.667 ms] [avg calls per frame: 1] [children: 90%] [unaccounted: 10%]
| scene->Preprocess - [39.5%] [avg time: 2.236 ms] [avg calls per frame: 1]
| video encoding and uploading - [50.5%] [avg time: 2.862 ms] [avg calls per frame: 1] [children: 17.6%] [unaccounted: 32.9%]
| | CopyResource - [0.159%] [avg time: 0.009 ms] [avg calls per frame: 0]
| | conversion to 4:2:0 - [0.0706%] [avg time: 0.004 ms] [avg calls per frame: 0]
| | call to encoder - [17.4%] [avg time: 0.985 ms] [avg calls per frame: 0]
| | sending stuff out - [0.0176%] [avg time: 0.001 ms] [avg calls per frame: 0]
==============================================================

While under load about 40% of my processor is free. My FPS in LoL is almost identical to what it was when I was streaming at 1680x1050@ 1.5, but something is really messed up with the microstuttering and jitter.
 

Bensam123

Member
Aero shouldn't matter when using DX to capture your stream... After doing some troubleshooting I learned a few things.

It happens less when the OBS window is minimized and it doesnt' happen at all when OBS is on my primary monitor (also the one that I'm playing games on). When it's on my secondary monitor, it gets progressively worse over time the longer it's sitting there. My secondary monitor being 1680x1050@60hz and my primary monitor being 1920x1080@144hz.

Changing my primary monitor to 60hz completely removes the problem.

Draging the OBS window around my secondary monitor while it's in preview is jerky (such as moving it around in a circular motion). When it's on the primary monitor it's fine. If the primary monitor is in 60hz mode it also fixes this.

Having OBS on my primary monitor fixes the problem with needing to push F12 multiple times in order to get DXtory to start. Changing the primary monitor to 60hz also fixes this.

This should probably be moved to bug report.
 

Krazy

Town drunk
it sounds like weird things are happening because your monitors are different refresh rates, especially since setting your second monitor to 60hz solved the problem.

lol, Muf -_-
 

Bensam123

Member
Yeah, core parking is disabled.

I've been doing some reading on this and it appears to be a issue with W7 and differing display refresh rates. Disabling aero seems to help elevate the issues. I'm still getting wildly different FPS depending on the game (of LoL).

Some people have suggested aero, enable scaling, and also plugging the second monitor into a different GPU such as on board. Scaling doesn't seem to do anything. I haven't tried a second GPU yet, although I may do that.
 

paibox

heros in an halfshel
This is simply a problem with how Windows attempts to balance vertical sync when you have multiple monitors that use different refresh rates. There's sadly not much you can do about it aside from getting rid of/replacing one of the monitors.
 

Bensam123

Member
Aero off fixes the problem, but lowers my fps in LoL by about 30fps. I'll continue doing testing and see what else I can figure out. Thanks for the tip Matt.
 

paibox

heros in an halfshel
Ah yes, the reason turning Aero off fixes that specific issue is because vsync is not enabled when Aero is off, unless forced by a fullscreen application.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
On a semi-related note about second adapters, be careful about having preview on and then putting OBS on a monitor connected to a different adapter than the one it's rendering on, I've heard it can slow things down. if you have any weird issues like that make sure to try disabling the preview
 

LukeXi

New Member
I just got the same monitor and using LG 32" TV as a secondary.

My framerates dropped completely after plugging this new monitor in

Only way that i found to get stable 40fps (from 1-3fps) again was to disable that LG completely.. :?

EDIT: Just noticed that disabling other screen does not affect framerates at all. Streamed for 5min~ and got 1-5fps 87% dropped frames with only main monitor vsync off 1920x1080 downscaled to 1280x720 @ 144hz
 

Krazy

Town drunk
Does forcing V-Sync to off in GPU drivers make a difference at all? Is there a way to disable it within Windows itself as well?
 

Bensam123

Member
Interesting... this may be a confirmation bias, but it appeared that way Jim. I have one on my 3570k graphics and the other on my 7850.

It reduced my framerate also by about 30, in LoL (just like Aero), but the gameplay experience was comparable to disabling Aero. I'll have to try it out again tonight and see if the stuttering is only caused by OBS. Windows may have patched things. I read it was due to the WDDM1.1 standard or something like that. I only mention that it may be patched because I played a video on the second screen before and it was fine, but dragging windows around sometimes lags.

The best performing solution was simply to leave the OBS window on my main monitor and let it sit behind my other windows, but then I can't see what I'm streaming while streaming.

I still can't get DXtory to hook properly on first button press. It sometimes takes 1-6 tries. It'll flash on for a second, but then go back to green. I'll have to try more games and see if it's just a problem with LoL.


Try disabling Aero Luke and see what happens. The framerate hit for me only seems to be associated with my increased resolution...
 

ruxxar

New Member
I have a 120hz LG screen as primary and a 75hz samsung screen as secondary. I've never noticed any slowdowns. I'm using a nVidia GPU so maybe it handles it better. If it's tied to V-Sync it might also be the reason why I've never noticed. I always have V-sync off in whatever game I play.
 

Bensam123

Member
It doesn't matter what GPU you have as far as I know. It's definitely there. It stutters like clockwork and it's pretty bad (once every 15-30 seconds for about 50ms). Vsync doesn't do anything. You should be able to see it by dragging a window around on the second desktop or watching a video while playing a game would also do it.

http://www.teamliquid.net/forum/viewmes ... _id=383484

Using onboard video didn't seem to make for any sort of weird lag, but since it's pretty much the same as disabling aero I'll just disable aero whenever I stream to be on the safe side.
 

LukeXi

New Member
FPS stays steady now @ 35 getting some fps drops tho.. disabled aero but didn't notice much of a difference. keeping it disabled for streaming anyway. Jittering still happens from time to time and that's the time i get frame drops

btw is there anything to help to lower that stream delay? i have over 25sec delay from obs to twitch.. or is that all from twitch servers?

1hour streaming Dropped frames 1160 (0.87%) not sure if thats bad or normal
 

Bensam123

Member
That sounds a little bit higher then normal, but not bad.

Disabling aero seems to fix the major spikes, but there is still quite a bit of jitter in it. Last night I tried playing a game of LoL without anything running and it was smooth as silk. Something is still going on. I have very similar problems to what this guy was experiencing.

viewtopic.php?f=5&t=1567

It's running at 144hz, but it feels like it's running at 60hz for some reason. There is a bit of jitter in there. I am still getting 180-300fps while streaming LoL too with 40% of my processor free, so I don't think it has anything to do with not having enough power. I don't know if it's because of load balancing across the CPU or what. I'll have to do more messing around with it tonight.
 

Bensam123

Member
Alright, so after more testing it appears gamecapture gives a more fluid experience then DXtory. There must be something wrong with the way DXtory deals with 120hz/144hz. I get roughly 50-100fps higher using game capture in LoL and like 30 in NS2. This is with Aero disabled.

Gamecapture still has some issues with detecting scenes and crashing games (it did when I alt tabbed during the loading screen of LoL).

There still seems to be a issue with jerkiness and lack of fluidity in the scene when capturing it though. Just running OBS doesn't seem to make much of a impact, it's when I hook the game with DXtory or Gamecapture. This may be a separate issue from the displaying a video on a secondary screen of a different refresh rate, which was fixed with disabling aero for this most part.
 
Top