Victor Ang
New Member
I have been using OBS for the better part of the year, and lately I have been experiencing a significant drop in performance when attempting to stream in 1080p. In the past OBS had worked perfectly, capturing and encoding frames without causing any performance hit. Now it seems to reduce my framerate in half the moment I begin streaming, as well as causing some choppiness in my game.
Here is my log where I previewed a stream of Dota 2. With OBS off, my framerate is at 120. When OBS begins previewing, the framerate drops to 65-70+
Could someone help point me towards what is possibly causing the issue? Things I tried so far: Uninstalling and reinstalling OBS, using OBS studio, reverting to an older graphics driver, lowering encoding settings to 720p30 (performance drop not as severe, but still present), using x264 and Quicksync (Issue persists in Quicksync. Software x264 has no perceivable problems)
Here is my log where I previewed a stream of Dota 2. With OBS off, my framerate is at 120. When OBS begins previewing, the framerate drops to 65-70+
Code:
23:00:04: Open Broadcaster Software v0.657b - 64bit ( ^ω^)
23:00:04: -------------------------------
23:00:04: CPU Name: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz
23:00:04: CPU Speed: 3500MHz
23:00:04: Physical Memory: 7877MB Total, 3765MB Free
23:00:04: stepping id: 3, model 60, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
23:00:04: monitor 1: pos={0, 0}, size={1920, 1080}
23:00:04: monitor 2: pos={-1440, 176}, size={1440, 900}
23:00:04: Windows Version: 10.0 Build 10586 (revision 0)
23:00:04: Aero is Enabled
23:00:04: -------------------------------
23:00:04: OBS Modules:
23:00:04: Base Address Module
23:00:04: 000000000A740000 OBS.exe
23:00:04: 00000000609B0000 OBSApi.dll
23:00:04: 000000008EB60000 CLRHostPlugin.dll
23:00:04: 0000000068ED0000 DShowPlugin.dll
23:00:04: 0000000084FF0000 GraphicsCapture.dll
23:00:04: 000000008EA90000 NoiseGate.dll
23:00:04: 000000008DCA0000 PSVPlugin.dll
23:00:04: 0000000084ED0000 scenesw.dll
23:00:04: ------------------------------------------
23:00:04: Adapter 1
23:00:04: Video Adapter: NVIDIA GeForce GTX 770
23:00:04: Video Adapter Dedicated Video Memory: 2086338560
23:00:04: Video Adapter Shared System Memory: 4130299904
23:00:04: Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
23:00:04: ------------------------------------------
23:00:04: Adapter 2
23:00:04: Video Adapter: Intel(R) HD Graphics 4600
23:00:04: Video Adapter Dedicated Video Memory: 117964800
23:00:04: Video Adapter Shared System Memory: 4130299904
23:00:04: Video Adapter Output 1: pos={-1440, 176}, size={1440, 900}, attached=true
23:00:04: =====Stream Start: 2016-05-11, 23:00:04===============================================
23:00:04: Multithreaded optimizations: On
23:00:04: Base resolution: 1920x1080
23:00:04: Output resolution: 1920x1080
23:00:04: ------------------------------------------
23:00:04: Loading up D3D10 on NVIDIA GeForce GTX 770 (Adapter 1)...
23:00:04: ------------------------------------------
23:00:04: Audio Format: 48000 Hz
23:00:04: ------------------------------------------
23:00:04: Audio Channels: 2 Ch
23:00:04: Playback device Default
23:00:04: ------------------------------------------
23:00:04: Using desktop audio input: Speakers (Realtek High Definition Audio)
23:00:04: Global Audio time adjust: 0
23:00:04: Using 5.1 speaker setup
23:00:04: ------------------------------------------
23:00:04: Using auxilary audio input: Microphone (Realtek High Definition Audio)
23:00:04: Mic time offset: 0
23:00:04: ------------------------------------------
23:00:04: Audio Encoding: AAC
23:00:04: bitrate: 128
23:00:04: Using graphics capture
23:00:04: Trying to hook process: dota2.exe
23:00:04: Scene buffering time set to 700
23:00:04: Successfully loaded ObsNvenc.dll
23:00:04: ObsNvenc initialized successfully
23:00:04: CUDA loaded successfully
23:00:04: 1 CUDA capable devices found
23:00:04: [ GPU #0 - < GeForce GTX 770 > has Compute SM 3.0, NVENC Available ]
23:00:04: NVENC internal init finished successfully
23:00:04: NVENC supports 8 h264 presets
23:00:04: ------------------------------------------
23:00:04: Video Encoding: NVENC
23:00:04: fps: 60
23:00:04: width: 1920, height: 1080
23:00:04: preset: default
23:00:04: profile: high
23:00:04: level: autoselect
23:00:04: keyint: 30
23:00:04: CBR: no
23:00:04: CFR: yes
23:00:04: max bitrate: 3500
23:00:04: avg bitrate: 3500
23:00:04: buffer size: 3500
23:00:04: quality: 8
23:00:04: ------------------------------------------
23:00:04: SharedTexCapture hooked
23:00:26: FlushBufferedVideo: Flushing 44 packets over 716 ms
23:00:26: Total frames encoded: 1265, total frames duplicated: 557 (44.03%)
23:00:26: Total frames rendered: 716, number of late frames: 485 (67.74%) (it's okay for some frames to be late)
23:00:26: Encoder closed
23:00:26: NVENC deinitialized
23:00:26:
23:00:26: Profiler time results:
23:00:26:
23:00:26: ==============================================================
23:00:26: video thread frame - [100%] [avg time: 28.412 ms] [children: 95.4%] [unaccounted: 4.62%]
23:00:26: | scene->Preprocess - [0.00352%] [avg time: 0.001 ms]
23:00:26: | GPU download and conversion - [95.4%] [avg time: 27.099 ms] [children: 15.7%] [unaccounted: 79.6%]
23:00:26: | | flush - [0.243%] [avg time: 0.069 ms]
23:00:26: | | CopyResource - [0.919%] [avg time: 0.261 ms]
23:00:26: | | conversion to 4:2:0 - [14.6%] [avg time: 4.141 ms]
23:00:26: Convert444Threads - [100%] [avg time: 0.892 ms] [children: 99.7%] [unaccounted: 0.336%]
23:00:26: | Convert444toNV12 - [99.7%] [avg time: 0.889 ms]
23:00:26: encoder thread frame - [100%] [avg time: 9.519 ms] [children: 0.0525%] [unaccounted: 99.9%]
23:00:26: | sending stuff out - [0.0525%] [avg time: 0.005 ms]
23:00:26: ==============================================================
23:00:26:
23:00:26:
23:00:26: Profiler CPU results:
23:00:26:
23:00:26: ==============================================================
23:00:26: video thread frame - [cpu time: avg 0.349 ms, total 250 ms] [avg calls per frame: 1]
23:00:26: | scene->Preprocess - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
23:00:26: | GPU download and conversion - [cpu time: avg 0.087 ms, total 62.5 ms] [avg calls per frame: 1]
23:00:26: | | flush - [cpu time: avg 0.021 ms, total 15.625 ms] [avg calls per frame: 1]
23:00:26: | | CopyResource - [cpu time: avg 0.023 ms, total 15.625 ms] [avg calls per frame: 1]
23:00:26: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
23:00:26: Convert444Threads - [cpu time: avg 0.596 ms, total 796.875 ms] [avg calls per frame: 2]
23:00:26: | Convert444toNV12 - [cpu time: avg 0.596 ms, total 796.875 ms] [avg calls per frame: 2]
23:00:26: encoder thread frame - [cpu time: avg 0.089 ms, total 109.375 ms] [avg calls per frame: 1]
23:00:26: | sending stuff out - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
23:00:26: ==============================================================
23:00:26:
23:00:26: =====Stream End: 2016-05-11, 23:00:26=================================================
23:01:21: CLR host plugin instance deleted; removing dynamically loaded localization strings
23:01:21: Terminating 0x17c4
Last game capture log:
2016-05-11, 22:58:15: we're booting up:
22:58:15: CaptureThread: attached to process dota2.exe
22:58:16: D3D9 Present
22:58:16: (half life scientist) everything.. seems to be in order
22:58:16: D3D9EndScene called
22:58:16: D3DPRESENT_PARAMETERS {
22:58:16: BackBufferWidth: 1920
22:58:16: BackBufferHeight: 1080
22:58:16: BackBufferFormat: D3DFMT_A8R8G8B8
22:58:16: BackBufferCount: 1
22:58:16: MultiSampleType: D3DMULTISAMPLE_NONE
22:58:16: MultiSampleQuality: 0
22:58:16: SwapEffect: D3DSWAPEFFECT_DISCARD
22:58:16: hDeviceWindow: 132090
22:58:16: Windowed: true
22:58:16: EnableAutoDepthStencil: true
22:58:16: AutoDepthStencilFormat: D3DFMT_D24S8
22:58:16: Flags: None
22:58:16: FullScreen_RefreshRateInHz: 0
22:58:16: PresentationInterval: 2147483648
22:58:16: };
22:58:16: successfully set up d3d9 hooks
22:58:16: D3D9PresentEx called
22:58:16: DoD3D9GPUHook: success - d3d9ex
22:58:16: D3DSURFACE_DESC {
22:58:16: Format: D3DFMT_A8R8G8B8
22:58:16: Type: D3DRTYPE_SURFACE
22:58:16: Usage: D3DUSAGE_RENDERTARGET
22:58:16: Pool: D3DPOOL_DEFAULT
22:58:16: MultiSampleType: D3DMULTISAMPLE_NONE
22:58:16: MultiSampleQuality: 0
22:58:16: Width: 1920
22:58:16: Height: 1080
22:58:16: };
22:58:16: successfully capturing d3d9 frames via GPU
22:58:45: ---------------------- Cleared D3D9 Capture ----------------------
22:58:45: D3D9EndScene called
22:58:45: D3D9PresentEx called
22:58:47: received restart event, capturing
22:58:47: DoD3D9GPUHook: success - d3d9ex
22:58:47: D3DSURFACE_DESC {
22:58:47: Format: D3DFMT_A8R8G8B8
22:58:47: Type: D3DRTYPE_SURFACE
22:58:47: Usage: D3DUSAGE_RENDERTARGET
22:58:47: Pool: D3DPOOL_DEFAULT
22:58:47: MultiSampleType: D3DMULTISAMPLE_NONE
22:58:47: MultiSampleQuality: 0
22:58:47: Width: 1920
22:58:47: Height: 1080
22:58:47: };
22:58:47: successfully capturing d3d9 frames via GPU
22:59:18: ---------------------- Cleared D3D9 Capture ----------------------
22:59:18: D3D9EndScene called
22:59:18: D3D9PresentEx called
23:00:04: received restart event, capturing
23:00:04: DoD3D9GPUHook: success - d3d9ex
23:00:05: D3DSURFACE_DESC {
23:00:05: Format: D3DFMT_A8R8G8B8
23:00:05: Type: D3DRTYPE_SURFACE
23:00:05: Usage: D3DUSAGE_RENDERTARGET
23:00:05: Pool: D3DPOOL_DEFAULT
23:00:05: MultiSampleType: D3DMULTISAMPLE_NONE
23:00:05: MultiSampleQuality: 0
23:00:05: Width: 1920
23:00:05: Height: 1080
23:00:05: };
23:00:05: successfully capturing d3d9 frames via GPU
23:00:26: ---------------------- Cleared D3D9 Capture ----------------------
23:00:26: D3D9EndScene called
23:00:26: D3D9PresentEx called
Could someone help point me towards what is possibly causing the issue? Things I tried so far: Uninstalling and reinstalling OBS, using OBS studio, reverting to an older graphics driver, lowering encoding settings to 720p30 (performance drop not as severe, but still present), using x264 and Quicksync (Issue persists in Quicksync. Software x264 has no perceivable problems)