Question / Help Lower In-Game FPS with OBS Studio But Not OBS Classic

RaX

New Member
Downloaded OBS Studio for the first time. Set everything up identical (as far as I can tell) to my OBS Classic settings. My in-game fps spikes about 10 fps lower when using Studio. Was just wondering if someone might be able to help me pinpoint the problem given some data.

Windows 7
i7-3770k 3.50GHz
GTX 680

1080p in game, scaling down to 720p for the stream.
Bitrate: 3000
CPU Usage = veryfast
x264 Options = opencl=true
Downscale filter: Bicubic

The only changes between Classic and Studio settings are the addition of opencl=true and Bicubic instead of Bilinear. I've removed both of these settings on Studio to match the settings on Classic but still experience about 10 lower fps in game when streaming. Local recording is absolutely fine on both Studio and Classic. I've also included a log file below:

Code:
03:05:14.742: CPU Name: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
03:05:14.742: CPU Speed: 3518MHz
03:05:14.742: Physical Cores: 4, Logical Cores: 8
03:05:14.742: Physical Memory: 16328MB Total, 12068MB Free
03:05:14.742: Windows Version: 6.1 Build 7601 (revision: 23539; 64-bit)
03:05:14.742: Running as administrator: false
03:05:14.742: Aero is Disabled
03:05:14.742: Portable mode: false
03:05:14.750: OBS 17.0.0 (64bit, windows)
03:05:14.750: ---------------------------------
03:05:14.750: ---------------------------------
03:05:14.750: audio settings reset:
03:05:14.750:     samples per sec: 44100
03:05:14.750:     speakers:        2
03:05:14.751: ---------------------------------
03:05:14.751: Initializing D3D11..
03:05:14.751: Available Video Adapters: 
03:05:14.753:     Adapter 1: NVIDIA GeForce GTX 680
03:05:14.753:      Dedicated VRAM: 4222287872
03:05:14.753:      Shared VRAM:    3997380608
03:05:14.753:      output 1: pos={0, 0}, size={1920, 1080}, attached=true
03:05:14.753:      output 2: pos={1920, 0}, size={1920, 1080}, attached=true
03:05:14.753:      output 3: pos={-1920, 0}, size={1920, 1080}, attached=true
03:05:14.756: Loading up D3D11 on adapter NVIDIA GeForce GTX 680 (0)
03:05:14.767: D3D11 loaded sucessfully, feature level used: 45056
03:05:15.559: ---------------------------------
03:05:15.559: video settings reset:
03:05:15.559:     base resolution:   1920x1080
03:05:15.559:     output resolution: 1280x720
03:05:15.559:     downscale filter:  Bicubic
03:05:15.559:     fps:               60/1
03:05:15.559:     format:            NV12
03:05:15.560: ---------------------------------
03:05:15.565: [CoreAudio encoder]: Adding CoreAudio AAC encoder
03:05:15.565: [AMF Encoder] Unable to load 'amfrt64.dll', error code 126.
03:05:15.566: [AMF Encoder] Éable to load 'amfrt64.dll', error code 126.
03:05:15.573: Required module function 'obs_module_load' in module '../../obs-plugins/64bit/libcef.dll' not found, loading of module failed
03:05:15.573: Required module function 'obs_module_load' in module '../../obs-plugins/64bit/libEGL.dll' not found, loading of module failed
03:05:15.574: Required module function 'obs_module_load' in module '../../obs-plugins/64bit/libGLESv2.dll' not found, loading of module failed
03:05:15.574: Failed to load 'en-US' text for module: 'obs-browser.dll'
03:05:15.574: [browser_source: 'Version: 1.27.0']
03:05:15.575: NVENC supported
03:05:15.635: VLC found, VLC video source enabled
03:05:15.642: No blackmagic support
03:05:15.645: [Media Foundation encoder]: plugin is disabled for performance reasons on Windows versions prior to 8
03:05:15.646: ---------------------------------
03:05:15.646:   Loaded Modules:
03:05:15.646:     win-wasapi.dll
03:05:15.646:     win-mf.dll
03:05:15.646:     win-dshow.dll
03:05:15.646:     win-decklink.dll
03:05:15.646:     win-capture.dll
03:05:15.646:     vlc-video.dll
03:05:15.646:     text-freetype2.dll
03:05:15.646:     rtmp-services.dll
03:05:15.646:     obs-x264.dll
03:05:15.646:     obs-transitions.dll
03:05:15.646:     obs-text.dll
03:05:15.646:     obs-qsv11.dll
03:05:15.646:     obs-outputs.dll
03:05:15.646:     obs-filters.dll
03:05:15.646:     obs-ffmpeg.dll
03:05:15.646:     obs-browser.dll
03:05:15.646:     image-source.dll
03:05:15.646:     frontend-tools.dll
03:05:15.646:     enc-amf.dll
03:05:15.646:     coreaudio-encoder.dll
03:05:15.646: ==== Startup complete ===============================================
03:05:15.653: All scene data cleared
03:05:15.653: ------------------------------------------------
03:05:15.672: WASAPI: Device 'Speakers (2- Logitech G35 Headset)' initialized
03:05:15.676: WASAPI: Device 'Microphone (2- Logitech G35 Headset)' initialized
03:05:15.740: adding 23 milliseconds of audio buffering, total audio buffering is now 23 milliseconds
03:05:15.896: warning: deprecated pixel format used, make sure you did set range correctly
03:05:15.899: warning: deprecated pixel format used, make sure you did set range correctly
03:05:15.903: warning: deprecated pixel format used, make sure you did set range correctly
03:05:15.930: Switched to scene 'World of Warcraft'
03:05:15.930: ------------------------------------------------
03:05:15.930: Loaded scenes:
03:05:15.930: - scene 'World of Warcraft':
03:05:15.930:     - source: 'WoW' (game_capture)
03:05:15.930:     - source: 'Chat_Filler' (image_source)
03:05:15.930:     - source: 'Cam_Border' (image_source)
03:05:15.930:     - source: 'Cam' (dshow_input)
03:05:15.930:     - source: 'Cam_Offline' (image_source)
03:05:15.930:     - source: 'BRB' (image_source)
03:05:15.930: ------------------------------------------------
03:05:16.170: Update check: last known remote version is 17.0.0
03:05:55.849: adding 23 milliseconds of audio buffering, total audio buffering is now 46 milliseconds

Any help would be greatly appreciated!
 

RaX

New Member
Including complete logs for comparison.

OBS Classic: https://gist.github.com/20f71367b46e498a2f76076d20220478
OBS Studio: Attached below because upload option in the program itself wasn't working.

Again the only differences I am aware of are opencl=true and bilinear/bicubic. Trying all combinations of these settings on Studio did not seem to affect performance.

Also, the dropped frames in the logs are the result of Twitch randomly dropping frames sometimes...
 

Attachments

  • 2017-01-12 11-47-49.txt
    6.6 KB · Views: 13

EBrito

Active Member
Remove
opencl=true scenecut=0

11:48:37.221: Output 'adv_stream': Number of dropped frames due to insufficient bandwidth/connection stalls: 578 (24.8%)
Nework problem
3000 kbps bitrate + 160 kbps audio = 3160 kpbs total bitrate + game.
In case you have enough upload for this (I thibk you need 4 Mb), run this test
64 k tcp window, 60 sec
http://www.teamliquid.net/forum/tech-support/478845-twitchtest-twitch-bandwidth-tester

Choose a server with at least 80 quality


https://www.reddit.com/r/Twitch/comments/2dz7ru/bitrates_resolutions_and_quality/
Maybe you should do 720p 30 fps with that bitrate.
 

RaX

New Member
I ran three TwitchTests, two of which shown below. The first had discrepancies so I ran another and got more consistent results. I ran a third for a few of the servers and the quality was showing a bit lower for some, in the 50-60 range. Not sure why there is such a range of results between tests. Connection wasn't being used for any of them. The test simply seems to show what was evident across many streaming sessions: some servers randomly seem to tolerate lower bitrates at any given time.

alUK6Eu.png

iRvlOok.png


I can run OBS Classic at 720p60 and the stream looks fine, maybe a LITTLE grainy/blurry at times. Running the same settings on OBS Studio produces lower fps in places. I will try switching to a higher quality server. Also I've seen 720p60 streams out there in relatively high motion games which are really crisp and smooth. How is this obtainable with Twitch's bitrate cap and the limits outlined in the bitrate guide you linked?

Also, when should one be using opencl=true? From what I understand it allows the GPU to take some load off of the CPU. I never see my CPU load go above 10% or so while streaming so perhaps this is only needed for setups with lower end CPUs and higher end graphics cards?
 

EBrito

Active Member
With a powerful CPU and FAST preset you get high quality streams.

OpencL=true causes problems , mainly in NVIDIA cards. There is more problems than benefits using it.
There are a lot of Youtube guides telling it gets better performance. Try, if you want and observe differences.
(By the way, NVidia only support OpenCL 1.2, not last version. Maybe this is what finally causes problems https://wiki.tiker.net/CudaVsOpenCL )
There is a Mantis asking to block this option in OBS
https://obsproject.com/mantis/view.php?id=771
 
Top