Question / Help Any way to not lose FPS when using Monitor Capture?

Robbie

New Member
Currently playing around settings and I noticed that if I use Game Capture to stream the game I get no fps drop whatsoever but if I stream using Monitor Capture I go down from like 60-70 fps to around 30 fps in games. I have Aero disabled.
 

Sapiens

Forum Moderator
For what it's worth, monitor capture works fine in Windows 8. Windows Vista/7 users should indeed avoid it like the plague, however.
 

Robbie

New Member
I see, thanks for the replies. What would I have to do if I wanted to play 2 games at the same time (for example playing Osu during a que time) without having to constantly turn the game capture for Osu off after the que is done and whatnot so it doesn't stay on top of the main game I play? So whichever game I'm currently tabbed into appears on top.
 
Last edited:

isamu

New Member
Might be a dumb question but can you explain why Monitor Capture on Windows 7 is "awful" and not recommended? If that's true, then why is it in OBS at all?

Also, a question regarding game capture.....is it recommended to start the game first *then* start OBS, or should I start OBS first then start the game?
 

R1CH

Forum Admin
Developer
Sometimes monitor capture fits the use case (eg if you're streaming a painting / drawing / programming show) and FPS is not important. Also for certain programs, it's the only method that works.

Game first is recommended, this way it won't randomly disappear if you open the game capture source properties.
 

dodgepong

Administrator
Community Helper
If you're on Windows 7 and the game is running in Windowed mode or Borderless Windowed mode, you can probably use DWM capture instead of Monitor capture. Just add a game capture and select "DWM Monitor Capture" as the application. (Note that Aero has to be enabled for this to work, and it will only capture your primary monitor.)
 

Robbie

New Member
Sorry to bother you guys again, The DWM monitor capture was working great till I restarted my PC. After I restarted my PC, using DWM always gives me a black screen for some reason. I have looked through some videos that talk about black screens but none of it has worked or was relevant to me.

My video adapter is set to my nvidia graphics card, everything I play is non-full screen (it's still a black screen even when I try to stream my desktop alone). I also have no drop down box when I try to add OBS at my nvidia settings but I guess that only applies to laptops.

Here is my log of the stream I just attempted.

Code:
07:59:32: Open Broadcaster Software v0.624b - 32bit (´・ω・`)
07:59:32: -------------------------------
07:59:32: CPU Name: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
07:59:32: CPU Speed: 3400MHz
07:59:32: Physical Memory:  4095MB Total, 4095MB Free
07:59:32: stepping id: 9, model 58, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
07:59:32: monitor 1: pos={0, 0}, size={1920, 1080}
07:59:32: monitor 2: pos={1920, 0}, size={1920, 1080}
07:59:32: Windows Version: 6.1 Build 7601 S
07:59:32: Aero is Enabled
07:59:32: -------------------------------
07:59:32: OBS Modules:
07:59:32: Base Address     Module
07:59:32: 002E0000         OBS.exe
07:59:32: 706F0000         OBSApi.dll
07:59:32: 71D10000         DShowPlugin.dll
07:59:32: 71CE0000         GraphicsCapture.dll
07:59:32: 71AF0000         NoiseGate.dll
07:59:32: 71AD0000         PSVPlugin.dll
07:59:32: ------------------------------------------
07:59:32: Adapter 1
07:59:32:   Video Adapter: NVIDIA GeForce GTX 760
07:59:32:   Video Adapter Dedicated Video Memory: 2087387136
07:59:32:   Video Adapter Shared System Memory: 2147807232
07:59:32:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
07:59:32: ------------------------------------------
07:59:32: Adapter 2
07:59:32:   Video Adapter: Intel(R) HD Graphics 4000
07:59:32:   Video Adapter Dedicated Video Memory: 67108864
07:59:32:   Video Adapter Shared System Memory: 1711276032
07:59:32:   Video Adapter Output 1: pos={1920, 0}, size={1920, 1080}, attached=true
07:59:32: =====Stream Start: 2014-05-31, 07:59:32===============================================
07:59:32:   Multithreaded optimizations: On
07:59:32:   Base resolution: 1920x1080
07:59:32:   Output resolution: 1920x1080
07:59:32: ------------------------------------------
07:59:32: Loading up D3D10 on NVIDIA GeForce GTX 760 (Adapter 1)...
07:59:32: ------------------------------------------
07:59:32: Audio Format: 48000 Hz
07:59:32: ------------------------------------------
07:59:32: Audio Channels: 2 Ch
07:59:32: Playback device Default
07:59:32: ------------------------------------------
07:59:32: Using desktop audio input: Speakers (Logitech G930 Headset)
07:59:32: Global Audio time adjust: 0
07:59:32: Using 7.1 surround speaker setup
07:59:32: ------------------------------------------
07:59:32: Using auxilary audio input: Microphone (Logitech G930 Headset)
07:59:32: Mic time offset: 0
07:59:32: ------------------------------------------
07:59:32: Audio Encoding: AAC
07:59:32:     bitrate: 320
07:59:32: Using graphics capture
07:59:32: Trying to hook process: dwm.exe
07:59:32: Scene buffering time set to 700
07:59:32: ------------------------------------------
07:59:32: Video Encoding: x264
07:59:32:     fps: 30
07:59:32:     width: 1920, height: 1080
07:59:32:     preset: veryfast
07:59:32:     profile: high
07:59:32:     keyint: 250
07:59:32:     CBR: yes
07:59:32:     CFR: yes
07:59:32:     max bitrate: 3000
07:59:32:     buffer size: 3000
07:59:32: ------------------------------------------
Warning -- D3D10Texture::CreateFromSharedHandle: Failed to open shared handle, result = 0x80070057
Warning -- SharedTexCapture::Init: Could not create shared texture
07:59:33: Audio timestamp for device 'Microphone (Logitech G930 Headset)' was behind target timestamp by 2518140
07:59:45: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
07:59:45:   New Scene
07:59:51: Using graphics capture
07:59:51: Trying to hook process: dwm.exe
Warning -- D3D10Texture::CreateFromSharedHandle: Failed to open shared handle, result = 0x80070057
Warning -- SharedTexCapture::Init: Could not create shared texture
07:59:58: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
07:59:58:   New Scene
07:59:58: Using graphics capture
07:59:58: Trying to hook process: dwm.exe
08:00:01: Total frames encoded: 832, total frames duplicated: 0 (0.00%)
08:00:01: Total frames rendered: 837, number of late frames: 0 (0.00%) (it's okay for some frames to be late)
08:00:01:
08:00:01: Profiler time results:
08:00:01:
08:00:01: ==============================================================
08:00:01: video thread frame - [100%] [avg time: 0.691 ms] [children: 13.9%] [unaccounted: 86.1%]
08:00:01: | scene->Preprocess - [0.145%] [avg time: 0.001 ms]
08:00:01: | GPU download and conversion - [13.7%] [avg time: 0.095 ms] [children: 9.55%] [unaccounted: 4.2%]
08:00:01: | | flush - [5.64%] [avg time: 0.039 ms]
08:00:01: | | CopyResource - [3.62%] [avg time: 0.025 ms]
08:00:01: | | conversion to 4:2:0 - [0.289%] [avg time: 0.002 ms]
08:00:01: Convert444Threads - [100%] [avg time: 0.938 ms] [children: 99.4%] [unaccounted: 0.64%]
08:00:01: | Convert444toNV12 - [99.4%] [avg time: 0.932 ms]
08:00:01: encoder thread frame - [100%] [avg time: 1.766 ms] [children: 0.17%] [unaccounted: 99.8%]
08:00:01: | sending stuff out - [0.17%] [avg time: 0.003 ms]
08:00:01: ==============================================================
08:00:01:
08:00:01:
08:00:01: Profiler CPU results:
08:00:01:
08:00:01: ==============================================================
08:00:01: video thread frame - [cpu time: avg 0.13 ms, total 109.2 ms] [avg calls per frame: 1]
08:00:01: | scene->Preprocess - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
08:00:01: | GPU download and conversion - [cpu time: avg 0.055 ms, total 46.8 ms] [avg calls per frame: 1]
08:00:01: | | flush - [cpu time: avg 0.018 ms, total 15.6 ms] [avg calls per frame: 1]
08:00:01: | | CopyResource - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
08:00:01: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
08:00:01: Convert444Threads - [cpu time: avg 0.893 ms, total 1450.81 ms] [avg calls per frame: 2]
08:00:01: | Convert444toNV12 - [cpu time: avg 0.893 ms, total 1450.81 ms] [avg calls per frame: 2]
08:00:01: encoder thread frame - [cpu time: avg 1.25 ms, total 1014.01 ms] [avg calls per frame: 1]
08:00:01: | sending stuff out - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
08:00:01: ==============================================================
08:00:01:
08:00:01: =====Stream End: 2014-05-31, 08:00:01=================================================


Last game capture log:
2014-05-31, 07:18:26: we're booting up:
07:18:26: CaptureThread: attached to process League of Legends.exe
07:18:26: D3D9 Present
07:18:26: DXGI Present
07:18:26: GL Present
07:18:26: (half life scientist) everything..  seems to be in order
07:18:26: D3D9EndScene called
07:18:26: D3DPRESENT_PARAMETERS {
07:18:26:     BackBufferWidth: 1920
07:18:26:     BackBufferHeight: 1080
07:18:26:     BackBufferFormat: D3DFMT_X8R8G8B8
07:18:26:     BackBufferCount: 1
07:18:26:     MultiSampleType: D3DMULTISAMPL07:55:22: stop requested, terminating d3d10 capture
07:55:22: ---------------------- Cleared D3D10 Capture ----------------------
07:58:22: DoD3D10Hook: success
07:58:22: successfully capturing d3d10 frames via GPU
07:58:30: stop requested, terminating d3d10 capture
07:58:30: ---------------------- Cleared D3D10 Capture ----------------------
07:59:32: DoD3D10Hook: success
07:59:32: successfully capturing d3d10 frames via GPU
07:59:45: stop requested, terminating d3d10 capture
07:59:45: ---------------------- Cleared D3D10 Capture ----------------------
07:59:45: DoD3D10Hook: success
07:59:51: successfully capturing d3d10 frames via GPU
l: D3DPOOL_DEFAULT
07:18:26:     MultiSampleType: D3DMULTISAMPLE_NONE
07:18:26:     MultiSampleQuality: 0
07:18:26:     Width: 1920
07:18:26:     Height: 1080
07:18:26: };
07:18:26: successfully capturing d3d9 frames via GPU
07:19:07: ---------------------- Cleared D3D9 Capture ----------------------
07:19:07: D3D9EndScene called
07:19:07: D3D9Present called

Edit: I restarted my pc again, it started capturing my monitor but I restarted another time just to make sure and it turned into a black screen again. Could this be something to do with my dwm.exe?
 
Last edited:
Top