Question / Help 1440p60 - OBS recording lags, Mirillis Action doesn't. Why?

So, here's my story: I just bought a 1440p monitor and started testing 1440p60 recordings in BF1 and Black Ops 3.

My setup is fairly good: i7 3770k and GTX 1080.

Mirillis Action records 1440p60 PLUS webcam flawlessly using NVENC. Too bad it can only record up to 30 Mbps and has very limited scene options.

OBS Studio lags to 40-50 fps even in preview mode without webcam.
My thinking: If Action is flawless in recording, there must be a way for OBS Studio to be, too.

Any suggestions? Log file:

Code:
01:27:16.283: CPU Name: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
01:27:16.283: CPU Speed: 3500MHz
01:27:16.283: Physical Cores: 4, Logical Cores: 8
01:27:16.283: Physical Memory: 16328MB Total, 8076MB Free
01:27:16.283: Windows Version: 10.0 Build 14393 (revision: 321; 64-bit)
01:27:16.283: Running as administrator: false
01:27:16.283: Aero is Enabled (Aero is always on for windows 8 and above)
01:27:16.291: OBS 0.16.2 (64bit, windows)
01:27:16.291: ---------------------------------
01:27:16.292: ---------------------------------
01:27:16.292: audio settings reset:
01:27:16.292:     samples per sec: 48000
01:27:16.292:     speakers:        2
01:27:16.293: ---------------------------------
01:27:16.293: Initializing D3D11..
01:27:16.293: Available Video Adapters:
01:27:16.294:     Adapter 1: NVIDIA GeForce GTX 1080
01:27:16.294:       Dedicated VRAM: 4245356544
01:27:16.294:       Shared VRAM:    4266115072
01:27:16.294:       output 1: pos={0, 0}, size={2560, 1440}, attached=true
01:27:16.294:       output 2: pos={2560, 0}, size={1920, 1080}, attached=true
01:27:16.296: Loading up D3D11 on adapter NVIDIA GeForce GTX 1080 (0)
01:27:16.677: D3D11 loaded sucessfully, feature level used: 45056
01:27:17.054: ---------------------------------
01:27:17.054: video settings reset:
01:27:17.054:     base resolution:   2560x1440
01:27:17.054:     output resolution: 2560x1440
01:27:17.054:     downscale filter:  Bilinear
01:27:17.054:     fps:               60/1
01:27:17.054:     format:            NV12
01:27:17.055: ---------------------------------
01:27:17.056: [CoreAudio encoder]: CoreAudio AAC encoder not installed on the system or couldn't be loaded
01:27:17.057: Failed to load 'pt-BR' text for module: 'enc-amf.dll'
01:27:17.057: [AMF Encoder] Version 1.3.1.0-1.3.0.5
01:27:17.057: [AMF Encoder] <Plugin::AMD::AMF::AMF> Initializing...
01:27:17.057: [AMF Encoder] <Plugin::AMD::AMF::AMF> Loading of 'amfrt64.dll' failed with error code 126.
01:27:17.061: Required module function 'obs_module_load' in module '../../obs-plugins/64bit/libcef.dll' not found, loading of module failed
01:27:17.061: Required module function 'obs_module_load' in module '../../obs-plugins/64bit/libEGL.dll' not found, loading of module failed
01:27:17.061: Required module function 'obs_module_load' in module '../../obs-plugins/64bit/libGLESv2.dll' not found, loading of module failed
01:27:17.062: Failed to load 'en-US' text for module: 'obs-browser.dll'
01:27:17.062: [browser_source: 'Version: 1.25.0']
01:27:17.063: NVENC supported
01:27:17.127: Failed to load 'pt-BR' text for module: 'obs-text.dll'
01:27:17.132: Couldn't find VLC installation, VLC video source disabled
01:27:19.616: No blackmagic support
01:27:19.649: ---------------------------------
01:27:19.649:   Loaded Modules:
01:27:19.649:     win-wasapi.dll
01:27:19.649:     win-mf.dll
01:27:19.649:     win-dshow.dll
01:27:19.649:     win-decklink.dll
01:27:19.649:     win-capture.dll
01:27:19.649:     vlc-video.dll
01:27:19.649:     text-freetype2.dll
01:27:19.649:     rtmp-services.dll
01:27:19.649:     obs-x264.dll
01:27:19.649:     obs-transitions.dll
01:27:19.649:     obs-text.dll
01:27:19.649:     obs-qsv11.dll
01:27:19.649:     obs-outputs.dll
01:27:19.649:     obs-filters.dll
01:27:19.649:     obs-ffmpeg.dll
01:27:19.649:     obs-browser.dll
01:27:19.649:     image-source.dll
01:27:19.649:     frontend-tools.dll
01:27:19.649:     enc-amf.dll
01:27:19.649:     coreaudio-encoder.dll
01:27:19.649: ==== Startup complete ===============================================
01:27:19.652: All scene data cleared
01:27:19.652: ------------------------------------------------
01:27:19.668: WASAPI: Device 'Fones de ouvido (H6)' initialized
01:27:19.672: WASAPI: Device 'Microfone (H6)' initialized
01:27:19.711: adding 42 milliseconds of audio buffering, total audio buffering is now 42 milliseconds
01:27:19.876: Switched to scene 'JOGO (Sem Facecam)'
01:27:19.876: ------------------------------------------------
01:27:19.876: Loaded scenes:
01:27:19.876: - scene 'CAMERA':
01:27:19.876:     - source: 'AGUARDA' (image_source)
01:27:19.876:     - source: 'A7 II' (dshow_input)
01:27:19.876:         - filter: 'Chroma Key' (chroma_key_filter)
01:27:19.876:         - filter: 'Crop' (crop_filter)
01:27:19.876:         - filter: 'Crop moldura' (crop_filter)
01:27:19.876:     - source: 'WEBCAM' (dshow_input)
01:27:19.876:         - filter: 'Chroma Key' (chroma_key_filter)
01:27:19.876:         - filter: 'Cortar' (crop_filter)
01:27:19.876:     - source: 'MÚSICA' (text_ft2_source)
01:27:19.876: - scene 'JOGO (Sem Facecam)':
01:27:19.876:     - source: 'AGUARDA' (image_source)
01:27:19.876:     - source: 'GAME' (game_capture)
01:27:19.876:         - filter: 'RE6' (color_filter)
01:27:19.876:     - source: 'CONSOLE' (dshow_input)
01:27:19.876:         - filter: 'Correção de cor' (color_filter)
01:27:19.876:     - source: 'MOLDURA' (image_source)
01:27:19.876:     - source: 'A7 II' (dshow_input)
01:27:19.876:         - filter: 'Chroma Key' (chroma_key_filter)
01:27:19.876:         - filter: 'Crop' (crop_filter)
01:27:19.876:         - filter: 'Crop moldura' (crop_filter)
01:27:19.876:     - source: 'WEBCAM' (dshow_input)
01:27:19.876:         - filter: 'Chroma Key' (chroma_key_filter)
01:27:19.876:         - filter: 'Cortar' (crop_filter)
01:27:19.876:     - source: 'MÚSICA' (text_ft2_source)
01:27:19.877: - scene 'JOGO (1440p)':
01:27:19.877:     - source: 'AGUARDA' (image_source)
01:27:19.877:     - source: 'GAME' (game_capture)
01:27:19.877:         - filter: 'RE6' (color_filter)
01:27:19.877:     - source: 'CONSOLE' (dshow_input)
01:27:19.877:         - filter: 'Correção de cor' (color_filter)
01:27:19.877:     - source: 'MOLDURA' (image_source)
01:27:19.877:     - source: 'A7 II' (dshow_input)
01:27:19.877:         - filter: 'Chroma Key' (chroma_key_filter)
01:27:19.877:         - filter: 'Crop' (crop_filter)
01:27:19.877:         - filter: 'Crop moldura' (crop_filter)
01:27:19.877:     - source: 'WEBCAM' (dshow_input)
01:27:19.877:         - filter: 'Chroma Key' (chroma_key_filter)
01:27:19.877:         - filter: 'Cortar' (crop_filter)
01:27:19.877:     - source: 'MÚSICA' (text_ft2_source)
01:27:19.877: - scene 'JOGO (1080p)':
01:27:19.877:     - source: 'AGUARDA' (image_source)
01:27:19.877:     - source: 'GAME' (game_capture)
01:27:19.877:         - filter: 'RE6' (color_filter)
01:27:19.877:     - source: 'CONSOLE' (dshow_input)
01:27:19.877:         - filter: 'Correção de cor' (color_filter)
01:27:19.877:     - source: 'MOLDURA' (image_source)
01:27:19.877:     - source: 'A7 II' (dshow_input)
01:27:19.877:         - filter: 'Chroma Key' (chroma_key_filter)
01:27:19.877:         - filter: 'Crop' (crop_filter)
01:27:19.877:         - filter: 'Crop moldura' (crop_filter)
01:27:19.877:     - source: 'WEBCAM' (dshow_input)
01:27:19.877:         - filter: 'Chroma Key' (chroma_key_filter)
01:27:19.877:         - filter: 'Cortar' (crop_filter)
01:27:19.877:     - source: 'MÚSICA' (text_ft2_source)
01:27:19.877: ------------------------------------------------
01:27:19.985: ---------------------------------
01:27:19.985: [DShow Device: 'WEBCAM'] settings updated:
01:27:19.985:     video device: AVerMedia U3 Video Capture
01:27:19.985:     video path: \\?\usb#vid_07ca&pid_0710#200500400092#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{9b365890-165f-11d0-a195-0020afd156e4}
01:27:19.985:     resolution: 1280x720
01:27:19.985:     fps: 60.00 (interval: 166666)
01:27:19.985:     format: YUY2
01:27:19.986:     using video device audio: yes
01:27:19.986:     sample rate: 48000
01:27:19.986:     channels: 2
01:27:19.986:     audio type: Capture
01:27:19.986: ---------------------------------
01:27:19.986: [DShow Device: 'A7 II'] settings updated:
01:27:19.986:     video device: AVerMedia U3 Video Capture
01:27:19.986:     video path: \\?\usb#vid_07ca&pid_0710#200500400092#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{9b365890-165f-11d0-a195-0020afd156e4}
01:27:19.986:     resolution: 1920x1080
01:27:19.986:     fps: 60.00 (interval: 166666)
01:27:19.986:     format: YUY2
01:27:19.987:     using video device audio: yes
01:27:19.987:     sample rate: 48000
01:27:19.987:     channels: 2
01:27:19.987:     audio type: Capture
01:27:20.018: DShow: Run failed (0x800705AA):
01:27:20.683: Update check: last known remote version is 0.16.2
01:27:25.470: adding 213 milliseconds of audio buffering, total audio buffering is now 256 milliseconds
01:27:25.925: [game-capture: 'GAME'] attempting to hook fullscreen process: bf1.exe
01:27:25.929: [game-capture: 'GAME'] d3d11 shared texture capture successful
01:27:25.941: [game-capture: 'GAME'] ----------------- d3d11 capture freed ----------------
01:27:25.941: [game-capture: 'GAME'] d3d11 shared texture capture successful
01:27:31.046: ---------------------------------
01:27:31.046: [NVENC encoder: 'recording_h264'] settings:
01:27:31.046:     rate_control: CBR
01:27:31.046:     bitrate:      50000
01:27:31.046:     cqp:          0
01:27:31.046:     keyint:       250
01:27:31.046:     preset:       hp
01:27:31.046:     profile:      main
01:27:31.046:     level:        auto
01:27:31.046:     width:        2560
01:27:31.046:     height:       1440
01:27:31.046:     2-pass:       false
01:27:31.046:     GPU:          0
01:27:31.046:
01:27:31.046: warning: This encoder is deprecated, use 'h264_nvenc' instead
01:27:31.758: ---------------------------------
01:27:31.759: [FFmpeg aac encoder: 'Track1'] bitrate: 320, channels: 2
01:27:31.761: ---------------------------------
01:27:31.761: [FFmpeg aac encoder: 'Track2'] bitrate: 320, channels: 2
01:27:31.773: ==== Recording Start ===============================================
01:27:31.773: [ffmpeg muxer: 'adv_file_output'] Writing file 'E:/GRAVAÇÕES PC/2016-10-22 01-27-31.mp4'...
01:27:56.608: [ffmpeg muxer: 'adv_file_output'] Output of file 'E:/GRAVAÇÕES PC/2016-10-22 01-27-31.mp4' stopped
01:27:56.608: Output 'adv_file_output': stopping
01:27:56.608: Output 'adv_file_output': Total encoded frames: 1490
01:27:56.608: Output 'adv_file_output': Total drawn frames: 1489
01:27:56.608: Output 'adv_file_output': Number of lagged frames due to rendering lag/stalls: 241 (16.2%)
01:27:56.608: ==== Recording Stop ================================================
01:27:56.805: warning: 2 frames left in the queue on closing
01:27:56.805: warning: 2 frames left in the queue on closing
01:28:05.608: [game-capture: 'GAME'] ----------------- d3d11 capture freed ----------------
 

Attachments

  • 2016-10-22 01-27-16.txt
    10.4 KB · Views: 30
Sorry, what do you mean by video subsystem?

I have 3 sources running: Game capture, webcam frame and webcam.
There are some sources disabled also.

But even if I delete everything and leave only Game capture on, it still lags. Webcam just makes it worse.
 

Suslik V

Active Member
Just leave 'Game Capture' source in the scene collection. Make record; stop it; close studio; open studio again; click help menu to upload Last log file, please.
 
Edit: OK, so I just found out that if I cap my games to 60 fps, OBS works perfectly. I turned Rivatuner limiter on and tested Overwatch and BO3. Kept them at 60 fps, recorded 1440p60. With all included: webcam, scenes, playing borderless, games at max settings.

I even tried BF1 but for some reason OBS doesn't detect it, maybe because of Rivatuner.

Any explanation on this?
 

Suslik V

Active Member
There was post on the forum that confirms that OBS Studio struggle to capture the games that was already hooked by third part software like afterburner and rivatuner (I cannot confirm or deny it by myself). Make sure that game not using dx12 or use 'Display Capture' source.
 

Harold

Active Member
07:03:41.586: ┃ ┣download_frame: min=0 ms, median=0.092 ms, max=58.058 ms, 99th percentile=31.381 ms

The bulk of the problem is in the video card.
 
It's Windows 10 in general. It doesn't matter how powerful your GPU is as there's a bug in Windows 10 that degrades OBS performance when GPU usage is high enough. The issue is Microsoft's end because I tried to replicate the problem on older Windows (8.1 for example) and so far nothing. Some users are in the minority that they didn't get it but many like me have confirmed it.
 
Not really. This is a different issue on Windows 10 where it's been going on since the launch day of the OS and even OBS Classic was affected by it. I even posted a thread comparing the logs of Studio between Windows 8.1 and Windows 10 on the exact same OBS settings and the exact same video options for one GPU-demanding game with uncapped FPS. 8.1 never caused lagged frames, 10 lagged a bunch of frames.

https://obsproject.com/forum/thread...-studio-comparing-logs-on-w8-1-and-w10.55169/
 
A quick note: When I used only 1080p monitors, I was able to capture 1080p60 perfectly in Windows 10.
It all started when I installed the new monitor. Even 1080p is struggling to stay at 60 fps in preview.

I'll put the old monitor back just for a quick test. Do you think I should format back to Win7 to give it a more dramatic try?
 

Sapiens

Forum Moderator
Are you running without vsync? Is your GTX1080 holding a steady 60 FPS at 1440p in the game or does it dip below that?
 

Suslik V

Active Member
I don't think that unlimited rendering is a good thing for your special task. Most people doesn't capture games, encoding them realtime in H.264, so there is no need to limit rendering frame rate for most users (and nothing to blame Microsoft for :). But for recording, you really need constant input rate (fps), because your output video has constant frame rate too. Known workaround - V-sync. Not panacea purple, but... At least, fixed intervals allow some other stuff to take place - capturing for example. This is good.

I see on the forum that some people like 144Hz monitors and we back at CRT era (where high frequency was good). But most people forget about low resolution requirements for high freq (640x480 for example) and trying to capture FullHD images. This is bad. Many PC not ready for real-time FullHD 144 fps (if you enable V-sync of course, because turning it off makes things even worse). If you forget to limit rendering frame rate - you leave no resources for capturing task such as transformations, data transfer (don't make fool, hw based encoders still need to read memory even if this is adapter's internal memory - every thing has limit), encoding etc.

HW encoders designed to cover consumer's requirements not the game capturing (IMHO nobody knows what was PC designed for, I mean not war machines, but personal computing, and now this is entertainment box). Maybe for portable device video encoding - but this time is gone; or for recording TV shows - but this time is gone too; or for making video calls maybe. All this stuff is well predictable, has constant frame rate and don't max your PC to the end. And some sys memory using is not critical for such tasks. Don't demand too much from encoders. I think, HW encoders could transform into the movement recognition modules in the nearby future, but who knows...
 
Well, running games with 60 fps cap is a good workaround. No need for V-Sync, I just turn G-Sync on and limit framerate through Rivatuner or something similar.

Too bad it totally kills the purpose of my new monitor! 144 hz is a bliss, and answering to Sapiens: Yes I can handle almost all games at least at 80 fps.

Adding a note to my previous post: I put the old monitor back and tried 1080p60 again. Turns out I ALWAYS had a drop of 3-6 fps while recording heavy games at this resolution. But I overlooked it because it was only in 1 or 2 games, and such a few amount of frames lost.
So as I started capturing 1440p60, the framerate drop was much higher so I finally figured out.

Edit: I'm gonna install Windows 7 in a separate hdd and try once again.
 
Last edited:
UPDATE: Solved!

So, as Unknown Richard suggested, the problem was Windows 10.
I tested it in Windows 7: 1440p60 in Black Ops 3 and BF1, not a single frame dropped. Amazing.
Scene was full - game capture, frame and webcam, preview mode enabled. Worked like a charm.
Captured with Nvenc in CQP 23, High Quality.

I don't know what's going on with Win10, but I hope it gets fixed soon. This was my only problem with the OS since installation.

Here's a log file of the successful attempt: https://gist.github.com/abd7515f284362bdb8d9426086871ce0
 
Top