Question / Help Massive frame drop at 1080p60

DaBlizz

New Member
So, I've been trying to get OBS Studio to work for a while at 1080p with 60fps, and I just can't, no matter what guides I follow, get it to work without massive frame lagging.

14:44:57.333: CPU Name: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
14:44:57.333: CPU Speed: 4008MHz
14:44:57.333: Physical Cores: 4, Logical Cores: 8
14:44:57.333: Physical Memory: 2047MB Total, 2047MB Free (NOTE: 2 or 4 gigs max is normal for 32bit programs)
14:44:57.333: Windows Version: 10.0 Build 14393 (revision: 693; 64-bit)
14:44:57.334: Running as administrator: true
14:44:57.334: Aero is Enabled (Aero is always on for windows 8 and above)
14:44:57.334: Portable mode: false
14:44:57.342: OBS 17.0.2 (windows)
14:44:57.342: ---------------------------------
14:44:57.343: ---------------------------------
14:44:57.343: audio settings reset:
14:44:57.343: samples per sec: 44100
14:44:57.343: speakers: 2
14:44:57.344: ---------------------------------
14:44:57.344: Initializing D3D11..
14:44:57.344: Available Video Adapters:
14:44:57.346: Adapter 1: NVIDIA GeForce GTX 1080
14:44:57.346: Dedicated VRAM: 3221225472
14:44:57.346: Shared VRAM: 1073676288
14:44:57.346: output 1: pos={0, 0}, size={1920, 1080}, attached=true
14:44:57.346: output 2: pos={1920, 0}, size={1440, 900}, attached=true
14:44:57.354: Loading up D3D11 on adapter NVIDIA GeForce GTX 1080 (0)
14:44:57.373: D3D11 loaded sucessfully, feature level used: 45056
14:44:57.770: ---------------------------------
14:44:57.770: video settings reset:
14:44:57.770: base resolution: 1920x1080
14:44:57.770: output resolution: 1280x720
14:44:57.770: downscale filter: Bicubic
14:44:57.770: fps: 30/1
14:44:57.770: format: NV12
14:44:57.771: ---------------------------------
14:44:57.772: Required module function 'obs_module_load' in module '../../obs-plugins/32bit/chrome_elf.dll' not found, loading of module failed
14:44:57.812: [CoreAudio encoder]: Adding CoreAudio AAC encoder
14:44:57.814: [AMF Encoder] Unable to load 'amfrt32.dll', error code 126.
14:44:57.842: Required module function 'obs_module_load' in module '../../obs-plugins/32bit/libcef.dll' not found, loading of module failed
14:44:57.849: Required module function 'obs_module_load' in module '../../obs-plugins/32bit/libEGL.dll' not found, loading of module failed
14:44:57.865: Required module function 'obs_module_load' in module '../../obs-plugins/32bit/libGLESv2.dll' not found, loading of module failed
14:44:57.865: Failed to load 'en-US' text for module: 'obs-browser.dll'
14:44:57.865: [browser_source: 'Version: 1.28.0']
14:44:57.868: NVENC supported
14:44:58.008: VLC found, VLC video source enabled
14:44:58.012: No blackmagic support
14:44:58.044: ---------------------------------
14:44:58.044: Loaded Modules:
14:44:58.044: win-wasapi.dll
14:44:58.044: win-mf.dll
14:44:58.045: win-dshow.dll
14:44:58.045: win-decklink.dll
14:44:58.045: win-capture.dll
14:44:58.045: vlc-video.dll
14:44:58.045: text-freetype2.dll
14:44:58.045: rtmp-services.dll
14:44:58.045: obs-x264.dll
14:44:58.045: obs-transitions.dll
14:44:58.045: obs-text.dll
14:44:58.045: obs-qsv11.dll
14:44:58.045: obs-outputs.dll
14:44:58.045: obs-filters.dll
14:44:58.045: obs-ffmpeg.dll
14:44:58.045: obs-browser.dll
14:44:58.045: image-source.dll
14:44:58.045: frontend-tools.dll
14:44:58.045: enc-amf.dll
14:44:58.045: coreaudio-encoder.dll
14:44:58.045: ==== Startup complete ===============================================
14:44:58.066: Service '' not found
14:44:58.066: No scene file found, creating default scene
14:44:58.067: All scene data cleared
14:44:58.067: ------------------------------------------------
14:44:58.097: WASAPI: Device 'Speakers (Logitech G933 Gaming Headset)' initialized
14:44:58.102: WASAPI: Device 'Microphone (Logitech G933 Gaming Headset)' initialized
14:44:58.110: Switched to scene 'Scene'
14:44:58.110: Failed to glob scene collections
14:44:58.141: adding 46 milliseconds of audio buffering, total audio buffering is now 46 milliseconds
14:44:58.606: [rtmp-services plugin] Successfully updated file 'services.json' (version 49)
14:44:58.606: [rtmp-services plugin] Successfully updated package (version 49)
14:44:58.609: Update check: last known remote version is 17.0.2
14:45:24.539: Source 'Scene' renamed to 'Game'
14:45:35.251: User added source 'Game Capture' (game_capture) to scene 'Game'
14:45:57.271: User added scene 'Desktop'
14:45:57.271: User switched to scene 'Desktop'
14:46:05.988: User added source 'Display Capture' (monitor_capture) to scene 'Desktop'
14:46:20.877: rtmp-common.c: [initialize_output] Could not find service ''
14:46:20.877: rtmp-common.c: [initialize_output] Could not find service ''
14:46:20.908: rtmp-common.c: [initialize_output] Could not find service ''
14:46:44.187: rtmp-common.c: [initialize_output] Could not find service ''
14:47:34.174: Settings changed (stream 1)
14:47:34.174: ------------------------------------------------
14:49:10.001: Settings changed (outputs)
14:49:10.001: ------------------------------------------------
14:49:15.410: Settings changed (outputs)
14:49:15.410: ------------------------------------------------
14:49:42.805: ---------------------------------
14:49:42.805: video settings reset:
14:49:42.805: base resolution: 1920x1080
14:49:42.805: output resolution: 1920x1080
14:49:42.805: downscale filter: Bicubic
14:49:42.805: fps: 60/1
14:49:42.805: format: NV12
14:49:42.807: Settings changed (video)
14:49:42.807: ------------------------------------------------
14:50:59.021: Settings changed (hotkeys)
14:50:59.021: ------------------------------------------------
14:51:40.873: ---------------------------------
14:51:40.873: [NVENC encoder: 'recording_h264'] settings:
14:51:40.873: rate_control: lossless
14:51:40.873: bitrate: 0
14:51:40.873: cqp: 0
14:51:40.873: keyint: 120
14:51:40.873: preset: default
14:51:40.873: profile: main
14:51:40.873: level: auto
14:51:40.873: width: 1920
14:51:40.873: height: 1080
14:51:40.873: 2-pass: true
14:51:40.873: b-frames: 2
14:51:40.873: GPU: 0
14:51:40.873:
14:51:41.132: [CoreAudio AAC: 'Track1']: settings:
14:51:41.132: mode: AAC
14:51:41.132: bitrate: 160
14:51:41.132: sample rate: 44100
14:51:41.132: cbr: on
14:51:41.132: output buffer: 1536
14:51:41.226: ==== Recording Start ===============================================
14:51:41.226: [ffmpeg muxer: 'adv_file_output'] Writing file 'C:/Users/DaBlizz/Videos/2017-02-03 14-51-40.mp4'...
14:52:12.445: adding 69 milliseconds of audio buffering, total audio buffering is now 116 milliseconds
14:52:12.836: User switched to scene 'Game'
14:52:15.857: [game-capture: 'Game Capture'] attempting to hook fullscreen process: bf4.exe
14:52:15.859: [game-capture: 'Game Capture'] using helper (compatibility hook)
14:52:15.959: [game-capture: 'Game Capture'] hook not loaded yet, retrying..
14:52:17.844: adding 92 milliseconds of audio buffering, total audio buffering is now 208 milliseconds
14:52:18.874: [game-capture: 'Game Capture'] attempting to hook fullscreen process: bf4.exe
14:52:18.887: [game-capture: 'Game Capture'] d3d11 memory capture successful
14:52:18.890: [game-capture: 'Game Capture'] memory capture successful
14:54:07.423: [game-capture: 'Game Capture'] ----------------- d3d11 capture freed ----------------
14:54:07.434: [game-capture: 'Game Capture'] d3d11 memory capture successful
14:54:07.443: [game-capture: 'Game Capture'] memory capture successful
14:54:11.480: [game-capture: 'Game Capture'] ----------------- d3d11 capture freed ----------------
14:54:11.851: [game-capture: 'Game Capture'] d3d11 memory capture successful
14:54:11.858: [game-capture: 'Game Capture'] memory capture successful
14:54:11.894: [game-capture: 'Game Capture'] ----------------- d3d11 capture freed ----------------
14:54:11.976: [game-capture: 'Game Capture'] d3d11 memory capture successful
14:54:11.991: [game-capture: 'Game Capture'] memory capture successful
14:54:13.788: [game-capture: 'Game Capture'] ----------------- d3d11 capture freed ----------------
14:54:13.800: [game-capture: 'Game Capture'] d3d11 memory capture successful
14:54:13.809: [game-capture: 'Game Capture'] memory capture successful
14:54:15.141: [game-capture: 'Game Capture'] ----------------- d3d11 capture freed ----------------
14:54:15.496: [game-capture: 'Game Capture'] d3d11 memory capture successful
14:54:15.515: [game-capture: 'Game Capture'] memory capture successful
14:54:15.551: [game-capture: 'Game Capture'] ----------------- d3d11 capture freed ----------------
14:54:15.629: [game-capture: 'Game Capture'] d3d11 memory capture successful
14:54:15.675: [game-capture: 'Game Capture'] memory capture successful
14:54:16.906: adding 23 milliseconds of audio buffering, total audio buffering is now 232 milliseconds
14:54:17.077: [game-capture: 'Game Capture'] ----------------- d3d11 capture freed ----------------
14:54:17.088: [game-capture: 'Game Capture'] d3d11 memory capture successful
14:54:17.094: [game-capture: 'Game Capture'] memory capture successful
14:54:18.385: [game-capture: 'Game Capture'] ----------------- d3d11 capture freed ----------------
14:54:18.790: [game-capture: 'Game Capture'] ----------------- d3d11 capture freed ----------------
14:54:18.867: [game-capture: 'Game Capture'] d3d11 memory capture successful
14:54:18.875: [game-capture: 'Game Capture'] memory capture successful
14:54:19.717: [game-capture: 'Game Capture'] Hooked D3D9
15:03:20.728: [game-capture: 'Game Capture'] ----------------- d3d11 capture freed ----------------
15:03:20.787: [game-capture: 'Game Capture'] d3d11 memory capture successful
15:03:20.835: [game-capture: 'Game Capture'] memory capture successful
15:26:17.395: [ffmpeg muxer: 'adv_file_output'] Output of file 'C:/Users/DaBlizz/Videos/2017-02-03 14-51-40.mp4' stopped
15:26:17.396: Output 'adv_file_output': stopping
15:26:17.396: Output 'adv_file_output': Total encoded frames: 124547
15:26:17.396: Output 'adv_file_output': Total drawn frames: 124568
15:26:17.396: Output 'adv_file_output': Number of skipped frames due to encoding lag: 22 (0.0%)
15:26:17.396: Output 'adv_file_output': Number of lagged frames due to rendering lag/stalls: 79348 (63.7%)
15:26:17.396: ==== Recording Stop ================================================
15:26:41.393: adding 23 milliseconds of audio buffering, total audio buffering is now 255 milliseconds
15:26:41.546: [game-capture: 'Game Capture'] ----------------- d3d11 capture freed ----------------
15:26:41.555: [game-capture: 'Game Capture'] d3d11 memory capture successful
15:26:41.560: [game-capture: 'Game Capture'] memory capture successful
15:26:44.126: User switched to scene 'Desktop'
15:26:44.441: [game-capture: 'Game Capture'] capture stopped
15:28:44.615: Settings changed (general)
15:28:44.615: ------------------------------------------------

And without changing any settings, changing to OpenGL rendering makes it worse.

Any ideas to fix this?

Edit: Might want to add that the Plays.tv recording overlay has no issues like this, not that I can notice, anyway.
 
15:26:17.396: Output 'adv_file_output': Number of lagged frames due to rendering lag/stalls: 79348 (63.7%)

You will have to give OBS some more GPU power. Try reducing in-game settings or using VSync. Also, OpenGL is a lot slower than the Direct3D renderer. You should never use the OpenGL renderer.
 

DaBlizz

New Member
I don't think it's an issue with GPU power. Considering the fact that I have a gtx 1080 and an i7 6700K, it should run fine as far as I understand. The games play perfectly fine at 120+fps with v-sync enabled.
 
Your CPU is hitting its limits with your in-game settings occasionally, signified by:
15:26:17.396: Output 'adv_file_output': Number of skipped frames due to encoding lag: 22 (0.0%)
This will cause fps drops in-game as well as affect OBS whilst recording, as your CPU still has to transfer data to and from your GPU to create the recording (Just your GPU does most of the heavy lifting when recording with your video card encoder)
As to why you 1080 is having issues with rendering lag (Hitting its limits as well) I honestly have no idea as it is far superior to my r9 290x in comparison, which I use to record BF4 (Coupled with an i5 2500 non-k) What are your in-game settings?

Can you try a recording and upload a logfile afterwards with the following settings:

  • Rate Control: CQP
  • CQP: 15-25
  • Preset: High-Quality
  • Profile: high
Above are taken from:
https://obsproject.com/forum/resour...lity-recording-and-multiple-audio-tracks.221/
 

DaBlizz

New Member
Aight, so after changing my settings to the above linked thread (for NVENC), and turning off multi-adapter, seems like the main issue has been solved. I'm still losing about 20% of the frames to lag, but that seems fair for maxed settings in BF4.
04:10:51.456: CPU Name: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
04:10:51.456: CPU Speed: 4008MHz
04:10:51.456: Physical Cores: 4, Logical Cores: 8
04:10:51.456: Physical Memory: 32727MB Total, 24716MB Free
04:10:51.456: Windows Version: 10.0 Build 14393 (revision: 693; 64-bit)
04:10:51.456: Running as administrator: false
04:10:51.457: Aero is Enabled (Aero is always on for windows 8 and above)
04:10:51.457: Portable mode: false
04:10:51.466: OBS 17.0.2 (64bit, windows)
04:10:51.466: ---------------------------------
04:10:51.467: ---------------------------------
04:10:51.467: audio settings reset:
04:10:51.467: samples per sec: 44100
04:10:51.467: speakers: 2
04:10:51.470: ---------------------------------
04:10:51.470: Initializing D3D11..
04:10:51.470: Available Video Adapters:
04:10:51.471: Adapter 1: NVIDIA GeForce GTX 1080
04:10:51.471: Dedicated VRAM: 4209704960
04:10:51.471: Shared VRAM: 4273833984
04:10:51.471: output 1: pos={0, 0}, size={1920, 1080}, attached=true
04:10:51.471: output 2: pos={1920, 0}, size={1440, 900}, attached=true
04:10:51.473: Loading up D3D11 on adapter NVIDIA GeForce GTX 1080 (0)
04:10:51.489: D3D11 loaded sucessfully, feature level used: 45056
04:10:51.841: ---------------------------------
04:10:51.841: video settings reset:
04:10:51.841: base resolution: 1920x1080
04:10:51.841: output resolution: 1920x1080
04:10:51.841: downscale filter: Lanczos
04:10:51.841: fps: 60/1
04:10:51.841: format: NV12
04:10:51.842: ---------------------------------
04:10:51.843: Required module function 'obs_module_load' in module '../../obs-plugins/64bit/chrome_elf.dll' not found, loading of module failed
04:10:51.847: [CoreAudio encoder]: Adding CoreAudio AAC encoder
04:10:51.849: [AMF Encoder] Unable to load 'amfrt64.dll', error code 126.
04:10:51.855: Required module function 'obs_module_load' in module '../../obs-plugins/64bit/libcef.dll' not found, loading of module failed
04:10:51.856: Required module function 'obs_module_load' in module '../../obs-plugins/64bit/libEGL.dll' not found, loading of module failed
04:10:51.856: Required module function 'obs_module_load' in module '../../obs-plugins/64bit/libGLESv2.dll' not found, loading of module failed
04:10:51.857: Failed to load 'en-US' text for module: 'obs-browser.dll'
04:10:51.857: [browser_source: 'Version: 1.28.0']
04:10:51.858: NVENC supported
04:10:51.939: Couldn't find VLC installation, VLC video source disabled
04:10:51.943: No blackmagic support
04:10:51.974: ---------------------------------
04:10:51.974: Loaded Modules:
04:10:51.974: win-wasapi.dll
04:10:51.974: win-mf.dll
04:10:51.974: win-dshow.dll
04:10:51.974: win-decklink.dll
04:10:51.974: win-capture.dll
04:10:51.974: vlc-video.dll
04:10:51.974: text-freetype2.dll
04:10:51.974: rtmp-services.dll
04:10:51.974: obs-x264.dll
04:10:51.974: obs-transitions.dll
04:10:51.974: obs-text.dll
04:10:51.974: obs-qsv11.dll
04:10:51.974: obs-outputs.dll
04:10:51.974: obs-filters.dll
04:10:51.974: obs-ffmpeg.dll
04:10:51.974: obs-browser.dll
04:10:51.974: image-source.dll
04:10:51.974: frontend-tools.dll
04:10:51.974: enc-amf.dll
04:10:51.974: coreaudio-encoder.dll
04:10:51.974: ==== Startup complete ===============================================
04:10:51.981: All scene data cleared
04:10:51.981: ------------------------------------------------
04:10:52.007: WASAPI: Device 'Speakers (Logitech G933 Gaming Headset)' initialized
04:10:52.012: WASAPI: Device 'Microphone (Logitech G933 Gaming Headset)' initialized
04:10:52.045: adding 23 milliseconds of audio buffering, total audio buffering is now 23 milliseconds
04:10:52.199: Switched to scene 'Game'
04:10:52.199: ------------------------------------------------
04:10:52.199: Loaded scenes:
04:10:52.199: - scene 'Game':
04:10:52.199: - source: 'Game Capture' (game_capture)
04:10:52.199: - scene 'Desktop':
04:10:52.199: - source: 'Display Capture' (monitor_capture)
04:10:52.199: ------------------------------------------------
04:10:52.591: Update check: last known remote version is 17.0.2
04:13:25.710: Settings changed (outputs, audio)
04:13:25.710: ------------------------------------------------
04:13:47.592: adding 23 milliseconds of audio buffering, total audio buffering is now 46 milliseconds
04:14:07.279: Settings changed (outputs)
04:14:07.279: ------------------------------------------------
04:15:20.187: Settings changed (outputs)
04:15:20.187: ------------------------------------------------
04:15:26.592: User switched to scene 'Desktop'
04:15:31.673: ---------------------------------
04:15:31.673: [NVENC encoder: 'recording_h264'] settings:
04:15:31.673: rate_control: CQP
04:15:31.673: bitrate: 0
04:15:31.673: cqp: 15
04:15:31.673: keyint: 250
04:15:31.673: preset: hq
04:15:31.673: profile: high
04:15:31.673: level: auto
04:15:31.673: width: 1920
04:15:31.673: height: 1080
04:15:31.673: 2-pass: true
04:15:31.673: b-frames: 2
04:15:31.673: GPU: 0
04:15:31.673:
04:15:32.789: [CoreAudio AAC: 'Track1']: settings:
04:15:32.789: mode: AAC
04:15:32.789: bitrate: 160
04:15:32.789: sample rate: 44100
04:15:32.789: cbr: on
04:15:32.789: output buffer: 1536
04:15:32.790: [CoreAudio AAC: 'Track2']: settings:
04:15:32.790: mode: AAC
04:15:32.790: bitrate: 160
04:15:32.790: sample rate: 44100
04:15:32.790: cbr: on
04:15:32.790: output buffer: 1536
04:15:32.792: [CoreAudio AAC: 'Track3']: settings:
04:15:32.792: mode: AAC
04:15:32.792: bitrate: 160
04:15:32.792: sample rate: 44100
04:15:32.792: cbr: on
04:15:32.792: output buffer: 1536
04:15:32.793: [CoreAudio AAC: 'Track4']: settings:
04:15:32.793: mode: AAC
04:15:32.793: bitrate: 160
04:15:32.793: sample rate: 44100
04:15:32.793: cbr: on
04:15:32.793: output buffer: 1536
04:15:32.836: ==== Recording Start ===============================================
04:15:32.837: [ffmpeg muxer: 'adv_file_output'] Writing file 'C:/Users/DaBlizz/Videos/2017-02-04 04-15-31.mp4'...
04:16:05.015: User switched to scene 'Game'
04:16:05.847: adding 23 milliseconds of audio buffering, total audio buffering is now 69 milliseconds
04:16:10.058: [game-capture: 'Game Capture'] attempting to hook fullscreen process: bf4.exe
04:16:10.060: [game-capture: 'Game Capture'] using helper (compatibility hook)
04:16:10.072: [game-capture: 'Game Capture'] hook not loaded yet, retrying..
04:16:13.075: [game-capture: 'Game Capture'] attempting to hook fullscreen process: bf4.exe
04:16:13.114: [game-capture: 'Game Capture'] d3d11 shared texture capture successful
04:16:13.125: [game-capture: 'Game Capture'] shared texture capture successful
04:16:41.215: [game-capture: 'Game Capture'] Hooked D3D9
04:26:38.948: [ffmpeg muxer: 'adv_file_output'] Output of file 'C:/Users/DaBlizz/Videos/2017-02-04 04-15-31.mp4' stopped
04:26:38.948: Output 'adv_file_output': stopping
04:26:38.948: Output 'adv_file_output': Total encoded frames: 39964
04:26:38.948: Output 'adv_file_output': Total drawn frames: 39967
04:26:38.948: Output 'adv_file_output': Number of lagged frames due to rendering lag/stalls: 7808 (19.5%)
04:26:38.948: ==== Recording Stop ================================================
04:26:47.122: [game-capture: 'Game Capture'] ----------------- d3d11 capture freed ----------------
04:26:47.145: [game-capture: 'Game Capture'] d3d11 shared texture capture successful
04:26:47.159: [game-capture: 'Game Capture'] shared texture capture successful
04:27:10.658: [game-capture: 'Game Capture'] capture window no longer exists, terminating capture
04:27:10.659: [game-capture: 'Game Capture'] capture stopped

Is there a way to reduce frame drop while keeping the game at max settings? If not that's fine, I'll just need to lower game settings for high-end games, but would be a nice bonus to record the beauty that I can see on my end. (at more than 60fps if possible.) Tweaking the CQP did not seem to affect the frame rate of the recording.
 
Cap your FPS (using the console command 'gametime.maxvariablefps 60' for BF4) or enable Vsync with monitor set to 60 Hz.
 
Dropping MSAA down will help a lot, it really makes graphics cards work.
As others have said, capping your fps will help you a lot as well, instead of gametime.maxvariablefps 60, use 61 as the number, I have found it works better than 60 when recording at 60fps.
You can create a user.cfg file (text file, change the .txt to .cfg) in your main battlefield 4 directory (Where the bf4.exe is located)
Type or copy/paste gametime.maxvariablefps 61 into the user.cfg and save it. BF4 will then load that as a custom parameter to use over default parameters from the game settings.

What is your monitor refresh rate? If above 60Hz then try capping your in-game fps to 1 fps above your monitor refresh rate via the user.cfg and lower settings in-game until you can reduce the render lags to hopefully nil.

The link below is a good reference for average fps hits with an explanation as to the settings:
http://forum.symthic.com/battlefiel...88-graphics-settings-and-how-they-affect-fps/
Also another link detailing with pics what the difference between each setting is:
https://www.google.com/translate?hl=en&ie=UTF8&sl=auto&tl=en&u=http%3A%2F%2Fwww.clubic.com%2Fjeu-video%2Farticle-597652-5-battlefield-4-guide-technique.html

Hope the above helps you out a bit, to note if you do have 120/144Hz monitor refresh rate, you can run them at 1/2 the refresh rate well, at least from what I have been told, for when needing to cap your fps in games (Skyrim due to physics engine bug when you have 60+ fps, everything starts flying around when you knock into them at high fps)
 
Top