From bcd8117c76b944e2dcd1cbeb0d213e5194742096 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Fri, 28 Oct 2022 10:32:57 +0200 Subject: [PATCH] Better audio/video sync, disable broken screen-direct again (nvidia driver bug) --- README.md | 2 ++ src/main.cpp | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index fe9973d..18a2f77 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,8 @@ If you are using a variable refresh rate monitor, then choose to record "screen- For screen capture to work with PRIME (laptops with a nvidia gpu), you must set the primary GPU to use your dedicated nvidia graphics card. You can do this by selecting "NVIDIA (Performance Mode) in nvidia settings:\ ![](https://dec05eba.com/images/nvidia-settings-prime.png)\ and then rebooting your laptop. +### TEMPORARY ISSUE ### +screen-direct capture has been temporary disabled as it causes issues with stuttering. This might be a nvfbc bug. # Performance When recording Legend of Zelda Breath of the Wild at 4k, fps drops from 30 to 7 when using OBS Studio + nvenc, however when using this screen recorder the fps remains at 30.\ diff --git a/src/main.cpp b/src/main.cpp index ae896d3..bde09b2 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -980,8 +980,12 @@ int main(int argc, char **argv) { const char *capture_target = window_str; bool direct_capture = strcmp(window_str, "screen-direct") == 0; - if(direct_capture) + if(direct_capture) { capture_target = "screen"; + // TODO: Temporary disable direct capture because push model causes stuttering when it's direct capturing. This might be a nvfbc bug. This does not happen when using a compositor. + direct_capture = false; + fprintf(stderr, "Warning: screen-direct has temporary been disabled as it causes stuttering. This is likely a NvFBC bug. Falling back to \"screen\".\n"); + } gsr_capture_nvfbc_params nvfbc_params; nvfbc_params.dpy = dpy;