Better audio/video sync, disable broken screen-direct again (nvidia driver bug)

This commit is contained in:
dec05eba 2022-10-28 10:32:57 +02:00
parent 3aa4f3e9f5
commit bcd8117c76
2 changed files with 7 additions and 1 deletions

View File

@ -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:\ 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)\ ![](https://dec05eba.com/images/nvidia-settings-prime.png)\
and then rebooting your laptop. 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 # 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.\ 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.\

View File

@ -980,8 +980,12 @@ int main(int argc, char **argv) {
const char *capture_target = window_str; const char *capture_target = window_str;
bool direct_capture = strcmp(window_str, "screen-direct") == 0; bool direct_capture = strcmp(window_str, "screen-direct") == 0;
if(direct_capture) if(direct_capture) {
capture_target = "screen"; 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; gsr_capture_nvfbc_params nvfbc_params;
nvfbc_params.dpy = dpy; nvfbc_params.dpy = dpy;