aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2022-10-28 10:32:57 +0200
committerdec05eba <dec05eba@protonmail.com>2022-12-20 15:42:27 +0100
commitbcd8117c76b944e2dcd1cbeb0d213e5194742096 (patch)
treef5ae22b788ac7f749103641cd5f52ff358f05588
parent3aa4f3e9f52742bc887a95b9ed319bdc00f958e4 (diff)
Better audio/video sync, disable broken screen-direct again (nvidia driver bug)
-rw-r--r--README.md2
-rw-r--r--src/main.cpp6
2 files changed, 7 insertions, 1 deletions
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;