Question / Help Lagged Frames, Aero and Disabled Sources questions

FerretBomb

Active Member
Had a few questions/issues that didn't seem to be too obvious:

  • Is there a reason to enable Aero?
    I tend to leave it off as a personal preference, but I see people recommending turning it on when using Window Capture mode for some reason (or saying that 'you can turn Aero on'). Does having Aero on enable some kind of offscreen palette-grabbing to speed up capture, or am I OK in leaving it off to lighten the load on system resources?
  • Are disabled (un-checked) sources in a scene still included in the Preprocess load?
    I have one 'Main Game (+chat/cam)' scene set up with game/window/monitor captures as-appropriate for various games, and un-check the ones I'm not actively using, so I don't have to remember or keep a list of which games need window-cap (like Binding of Isaac), which work with Game Capture (Mark of the Ninja), and which need a Monitor capture with a sub-region (like Super Crate Box).
    I'm getting a TON of lagged frames though (almost 12%!) and it seems like most of that time is spent in Preprocess.
  • Lagged frames
    As noted above, I'm getting a bunch of them. If you could take a look at the log and let me know what I can do to reduce them, it would be greatly appreciated. The stream looks pretty good as-is, but I'd like to make it even better if at all possible.

Thanks in advance!
(Related, is there a way to 'Duplicate/Copy Scene'? If I need to set one up for each game I play to cut down the lagged frames/preprocess time, I'd rather keep a single layout and copy it a few times to keep things looking uniform and professional if possible, and switch the hotkey assignment based on which game I plan to play that night.)

Code:
01:05:27: Open Broadcaster Software v0.522b - 64bit ( ^ω^)
01:05:27: -------------------------------
01:05:27: CPU Name: Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz
01:05:27: CPU Speed: 2672MHz
01:05:27: Physical Memory:  49143MB Total, 35736MB Free
01:05:27: stepping id: 4, model 10, family 6, type 0, extmodel 0, extfamily 0, HTT 1, logical cores 8, total cores 4
01:05:27: monitor 1: pos={-1920, 0}, size={1920, 1080}
01:05:27: monitor 2: pos={0, 0}, size={1920, 1080}
01:05:27: monitor 3: pos={1920, 0}, size={1920, 1080}
01:05:27: Windows Version: 6.1 Build 7601 S
01:05:27: Aero is Disabled
01:05:27: -------------------------------
01:05:27: OBS Modules:
01:05:27: Base Address     Module
01:05:27: 000000003F6E0000 OBS.exe
01:05:27: 00000000F8C40000 OBSApi.dll
01:05:27: 00000000FB460000 DShowPlugin.dll
01:05:27: 00000000F9920000 GraphicsCapture.dll
01:05:27: 00000000F9900000 NoiseGate.dll
01:05:27: 00000000F9B70000 scenesw.dll
01:05:27: ------------------------------------------
01:05:27: Adapter 1
01:05:27:   Video Adapter: AMD Radeon HD 6800 Series
01:05:27:   Video Adapter Dedicated Video Memory: 1017868288
01:05:27:   Video Adapter Shared System Memory: 4021872640
01:05:27: =====Stream Start: 2013-06-05, 01:05:27===============================================
01:05:27:   Multithreaded optimizations: On
01:05:27:   Base resolution: 1920x1080
01:05:27:   Output resolution: 1280x720
01:05:27: ------------------------------------------
01:05:27: Loading up D3D10...
01:05:28: Playback device Default
01:05:28: ------------------------------------------
01:05:28: Using desktop audio input: Speakers (SoundMAX Integrated Digital HD Audio)
01:05:28: ------------------------------------------
01:05:28: Using auxilary audio input: Microphone (SoundMAX Integrated Digital HD Audio)
01:05:28: Using Mic QPC timestamps
01:05:28: ------------------------------------------
01:05:28: Audio Encoding: AAC
01:05:28:     bitrate: 128
01:05:28: Using Window Capture
01:05:28: ------------------------------------------
01:05:28: Video Encoding: x264
01:05:28:     fps: 60
01:05:28:     width: 1280, height: 720
01:05:28:     preset: veryfast
01:05:28:     CBR: no
01:05:28:     CFR: no
01:05:28:     max bitrate: 2500
01:05:28:     buffer size: 2500
01:05:28:     quality: 10
01:05:28: ------------------------------------------
01:05:28: Syncing audio to video time (WARNING: you should not be doing this if you are just having webcam desync, that's a separate issue)
01:05:40: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:05:40:   New Scene
01:05:40: Using bitmap image
01:05:40: Using bitmap image
01:05:40: ------------------------------------------
01:05:40:     device: Logitech HD Pro Webcam C920,
01:05:40:     device id \\?\usb#vid_046d&pid_082d&mi_00#6&3361f4d&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{bbefb6c7-2fc4-4139-bb8b-a58bba724083},
01:05:40:     chosen type: I420, usingFourCC: false, res: 1920x1080 - 1920x1080, frameIntervals: 333333-2000000, fourCC: 'I420'
01:05:40:     audio device: Disable,
01:05:40:     audio device id Disabled,
01:05:40: 
01:05:40: Using directshow input
01:05:40: Using Window Capture
01:05:51: Using text output
01:05:52: Using bitmap image
01:05:58: Using bitmap image
01:07:02: Using bitmap image
01:22:21: Using bitmap image
01:22:31: Using Monitor Capture
01:22:33: Using graphics capture
01:22:36: Using Window Capture
01:22:39: Using Window Capture
01:25:18: Using graphics capture
01:25:27: SharedTexCapture hooked
01:25:55: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:25:55:   New Scene
01:25:55: Using text output
01:25:55: Using bitmap image
01:26:20: Using bitmap image
01:26:51: Using graphics capture
01:27:01: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:27:01:   New Scene
01:27:01: Using bitmap image
01:27:01: Using bitmap image
01:27:01: Using graphics capture
01:27:01: Using Window Capture
01:27:02: Using bitmap image
01:27:07: SharedTexCapture hooked
01:27:20: GraphicsCaptureSource::NewCapture:  eliminating old capture
01:27:20: SharedTexCapture hooked
01:27:26: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:27:26:   New Scene
01:27:26: Using bitmap image
01:27:26: Using graphics capture
01:27:26: SharedTexCapture hooked
01:27:29: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:27:29:   New Scene
01:27:29: Using bitmap image
01:27:29: Using graphics capture
01:27:29: Using Window Capture
01:27:30: Using bitmap image
01:27:30: SharedTexCapture hooked
01:28:55: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:28:55:   New Scene
01:28:55: Using bitmap image
01:29:01: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:29:01:   New Scene
01:29:01: Using bitmap image
01:29:01: Using Window Capture
01:29:01: Using bitmap image
01:29:09: Using graphics capture
01:33:29: SharedTexCapture hooked
01:33:41: GraphicsCaptureSource::NewCapture:  eliminating old capture
01:33:41: SharedTexCapture hooked
01:34:06: GraphicsCaptureSource::NewCapture:  eliminating old capture
01:34:06: SharedTexCapture hooked
01:34:30: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:34:30:   New Scene
01:34:30: Using bitmap image
01:34:33: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:34:33:   New Scene
01:34:33: Using bitmap image
01:34:37: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:34:37:   New Scene
01:34:37: Using bitmap image
01:34:37: Using Window Capture
01:34:37: Using graphics capture
01:34:37: Using bitmap image
01:34:37: SharedTexCapture hooked
01:34:41: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:34:41:   New Scene
01:34:41: Using Monitor Capture
01:34:42: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:34:42:   New Scene
01:34:42: Using bitmap image
01:34:42: Using Window Capture
01:34:43: Using graphics capture
01:34:43: Using bitmap image
01:34:43: SharedTexCapture hooked
01:34:45: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:34:45:   New Scene
01:34:45: Using Monitor Capture
01:34:46: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:34:46:   New Scene
01:34:46: Using bitmap image
01:34:46: Using Window Capture
01:34:46: Using graphics capture
01:34:47: Using bitmap image
01:34:47: SharedTexCapture hooked
01:34:50: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:34:50:   New Scene
01:34:50: Using Monitor Capture
01:34:51: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:34:51:   New Scene
01:34:51: Using bitmap image
01:34:51: Using Window Capture
01:34:52: Using graphics capture
01:34:52: Using bitmap image
01:34:52: SharedTexCapture hooked
01:35:15: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:35:15:   New Scene
01:35:15: Using bitmap image
01:37:20: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:37:20:   New Scene
01:37:21: Using bitmap image
01:37:58: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:37:58:   New Scene
01:37:58: Using bitmap image
01:38:01: Total frames rendered: 116222, number of frames that lagged: 493 (0.42%) (it's okay for some frames to lag)
01:38:03: =====Stream End: 2013-06-05, 01:38:03=================================================
01:38:21: =====Stream Start: 2013-06-05, 01:38:21===============================================
01:38:21:   Multithreaded optimizations: On
01:38:21:   Base resolution: 1920x1080
01:38:21:   Output resolution: 1280x720
01:38:21: ------------------------------------------
01:38:21: Loading up D3D10...
01:38:22: Playback device Default
01:38:22: ------------------------------------------
01:38:22: Using desktop audio input: Speakers (SoundMAX Integrated Digital HD Audio)
01:38:22: ------------------------------------------
01:38:22: Using auxilary audio input: Microphone (SoundMAX Integrated Digital HD Audio)
01:38:22: Using Mic QPC timestamps
01:38:22: ------------------------------------------
01:38:22: Audio Encoding: AAC
01:38:22:     bitrate: 128
01:38:22: Using bitmap image
01:38:22: ------------------------------------------
01:38:22: Video Encoding: x264
01:38:22:     fps: 60
01:38:22:     width: 1280, height: 720
01:38:22:     preset: veryfast
01:38:22:     CBR: no
01:38:22:     CFR: no
01:38:22:     max bitrate: 2500
01:38:22:     buffer size: 2500
01:38:22:     quality: 10
01:38:22: ------------------------------------------
01:38:22: Syncing audio to video time (WARNING: you should not be doing this if you are just having webcam desync, that's a separate issue)
01:38:23: Using RTMP service: Twitch / Justin.tv
01:38:23:   Server selection: rtmp://live-dfw.justin.tv/app
01:38:24: SO_SNDBUF was at 8192
01:38:24: SO_SNDBUF is now 65536
01:39:38: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:39:38:   New Scene
01:39:38: ------------------------------------------
01:39:38:     device: Logitech HD Pro Webcam C920,
01:39:38:     device id \\?\usb#vid_046d&pid_082d&mi_00#6&3361f4d&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{bbefb6c7-2fc4-4139-bb8b-a58bba724083},
01:39:38:     chosen type: I420, usingFourCC: false, res: 1920x1080 - 1920x1080, frameIntervals: 333333-2000000, fourCC: 'I420'
01:39:38:     audio device: Disable,
01:39:38:     audio device id Disabled,
01:39:38: 
01:39:38: Using directshow input
01:39:38: Using bitmap image
01:40:27: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:40:27:   New Scene
01:40:27: Using bitmap image
01:40:27: Using Window Capture
01:40:27: Using graphics capture
01:40:27: Using bitmap image
01:40:27: SharedTexCapture hooked
01:41:41: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:41:41:   New Scene
01:41:41: Using Monitor Capture
01:42:30: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
01:42:30:   New Scene
01:42:30: Using bitmap image
01:42:30: Using Window Capture
01:42:30: Using graphics capture
01:42:30: Using bitmap image
01:42:31: SharedTexCapture hooked
02:20:23: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
02:20:23:   New Scene
02:20:23: Using Monitor Capture
02:20:34: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
02:20:34:   New Scene
02:20:34: Using bitmap image
02:20:34: Using Window Capture
02:20:34: Using graphics capture
02:20:34: Using bitmap image
02:20:35: SharedTexCapture hooked
02:21:24: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
02:21:24:   New Scene
02:21:24: Using Monitor Capture
02:22:14: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
02:22:14:   New Scene
02:22:14: Using bitmap image
02:22:14: Using Window Capture
02:22:14: Using graphics capture
02:22:15: Using bitmap image
02:22:15: SharedTexCapture hooked
02:23:46: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
02:23:46:   New Scene
02:23:46: Using Monitor Capture
02:25:05: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
02:25:05:   New Scene
02:25:05: Using bitmap image
02:25:05: Using Window Capture
02:25:05: Using graphics capture
02:25:06: Using bitmap image
02:25:06: SharedTexCapture hooked
02:30:25: Using Monitor Capture
02:46:08: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
02:46:08:   New Scene
02:46:08: Using bitmap image
02:46:08: Using graphics capture
02:46:13: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
02:46:13:   New Scene
02:46:13: Using bitmap image
02:46:13: Using Window Capture
02:46:13: Using Monitor Capture
02:46:13: Using graphics capture
02:46:13: Using bitmap image
03:18:04: Using Monitor Capture
03:18:26: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
03:18:26:   New Scene
03:18:26: Using bitmap image
03:18:26: Using Window Capture
03:18:26: Using Monitor Capture
03:18:36: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
03:18:36:   New Scene
03:19:03: Using Monitor Capture
03:22:15: Using Window Capture
03:24:59: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
03:24:59:   New Scene
03:24:59: Using bitmap image
03:24:59: Using Window Capture
03:24:59: Using Monitor Capture
03:24:59: Using graphics capture
03:24:59: Using bitmap image
03:25:23: SharedTexCapture hooked
03:31:13: GraphicsCaptureSource::NewCapture:  eliminating old capture
03:31:13: SharedTexCapture hooked
03:45:44: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
03:45:44:   New Scene
03:45:45: Using Monitor Capture
03:46:54: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
03:46:54:   New Scene
03:46:54: Using bitmap image
03:46:54: Using Window Capture
03:46:55: Using graphics capture
03:46:55: Using bitmap image
03:46:55: SharedTexCapture hooked
04:18:02: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
04:18:02:   New Scene
04:18:02: Using Monitor Capture
04:20:28: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
04:20:28:   New Scene
04:20:28: Using bitmap image
04:20:28: Using Window Capture
04:20:28: Using graphics capture
04:20:29: Using bitmap image
04:20:29: SharedTexCapture hooked
04:24:55: Using bitmap image
04:26:04: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
04:26:04:   New Scene
04:26:04: Using bitmap image
04:26:50: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
04:26:50:   New Scene
04:26:50: Using bitmap image
04:28:17: Total frames rendered: 560793, number of frames that lagged: 65266 (11.64%) (it's okay for some frames to lag)
04:28:19: RTMPPublisher::SocketLoop: Aborting due to bStopping
04:28:19: Number of times waited to send: 0, Waited for a total of 0 bytes
04:28:19: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
04:28:19: =====Stream End: 2013-06-05, 04:28:19=================================================
04:28:56: 
04:28:56: Profiler results:
04:28:56: 
04:28:56: ==============================================================
04:28:56: frame - [100%] [avg time: 9.108 ms] [avg calls per frame: 1] [children: 87.8%] [unaccounted: 12.2%]
04:28:56: | scene->Preprocess - [60%] [avg time: 5.468 ms] [avg calls per frame: 1]
04:28:56: | video encoding and uploading - [27.7%] [avg time: 2.526 ms] [avg calls per frame: 1] [children: 20.7%] [unaccounted: 7.04%]
04:28:56: | | CopyResource - [0.165%] [avg time: 0.015 ms] [avg calls per frame: 0]
04:28:56: | | conversion to 4:2:0 - [0.0439%] [avg time: 0.004 ms] [avg calls per frame: 0]
04:28:56: | | call to encoder - [20.3%] [avg time: 1.848 ms] [avg calls per frame: 0]
04:28:56: | | sending stuff out - [0.198%] [avg time: 0.018 ms] [avg calls per frame: 0]
04:28:56: ==============================================================
04:28:56:

Link to the cast from the log above: http://www.twitch.tv/ferretbomb/b/412836611

Come to think of it, some of the lagged frames MAY have been my 'main monitor only' scene, which is a Monitor Capture (rather than game) I switched to for many of the cinematics in the game... it was pointed out late in the cast that it got INCREDIBLY choppy any time I did that, and my framerate dropped to around 6-8fps from the target of 60. Going to have to try again without doing that and see if my lagged frames count goes down.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
FerretBomb said:
Is there a reason to enable Aero?

If you are using window capture, then you will gain benefit from hardware acceleration when capturing, and the speed will be almost equivalent to game capture, so yes, I would recommend using it when using exclusively window capture, but having it off isn't that big of a deal either, so if you use it in combination with monitor capture then you probably will want to leave it off.

Sadly only windows 8 has the high-speed monitor capture because microsoft won't put it into the previous versions, so there's little way to avoid having it off if you must use monitor capture on 7/vista.

Aero shouldn't have an effect on game capture.

FerretBomb said:
Are disabled (un-checked) sources in a scene still included in the Preprocess load?

As of the latest versions, un-checked sources are "destroyed", and therefore no, not pre-processed.

FerretBomb said:
Lagged frames

Your lagged frames could be anything, monitor capture for example lacks performance on windows vista/7. I can't say for sure but it would be my best guess. You may have to tinker with the sources and see specifically what is enabled when your OBS FPS goes below the FPS you set it to.
 

FerretBomb

Active Member
Thanks for the quick response; if Aero does actually speed up window capture mode, that's good to know.
I do try to avoid using monitor capture for obvious reasons, and won't touch Windows 8 with someone else's ten-foot-pole; as an IT guy, I know what a flaming sack of crap it truly is.

Good to know on that; I was looking at the log, and it showed scenes with four Images, a global (cam), and a smattering of window or game capture items listed. I can only assume that's my 'Main Game (+cam/chat)' scene, but if unchecked items have no impact in recent versions (0.522b?) I'll just leave them as-is.

OK, if Monitor Capture results in lagged frames (I figured that'd be Dropped, but with zero... I suppose lagged is the only one left!) then the cinematic scenes were almost definitely it. I also had spent about an hour of the cast in Monitor Capture mode, doing a tutorial on OBS setup for one of my followers who wants to get into streaming as well.

I'm also using the Lanczos downscaler, but seeing a LOT of poor quality on downsampled text (01:10:00 in the above-linked cast is a good example); is the only way around this to run at my native 1920x1080?
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Yea, just see when/where your OBS FPS dips down and you'll know the cause.

No matter what if you scale down it's going to be difficult to keep all the details. Lanczos is currently the best option for the "clearest" downscale, but the best way to preserve detail is to use a higher resolution or higher resolution font. Also I don't think the shaders are perfect, but they're pretty close.
 
Top