diff --git a/README.md b/README.md index 1d09c92..9eca5ad 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,8 @@ If you are using a variable refresh rate monitor, then choose to record "screen- # 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 GTA V at 4k on highest settings, fps drops from 60 to 23 when using obs-nvfbc + nvenc, however when using this screen recorder the fps only drops to 55. The quality is also much better when using gpu-screen-recorder.\ -It is recommended to save the video to a SSD because of the large file size, which a slow HDD might not be fast enough to handle. +It is recommended to save the video to a SSD because of the large file size, which a slow HDD might not be fast enough to handle.\ +Using NvFBC (recording the monitor/screen) is not faster than not using NvFBC (recording a single window) with gpu screen recorder, in fact it might be a tiny bit slower. # Installation If you are running an Arch Linux based distro, then you can find gpu screen recorder on aur under the name gpu-screen-recorder-git (`yay -S gpu-screen-recorder-git`).\ If you are running an Ubuntu based distro then run `install_ubuntu.sh` as root: `sudo ./install_ubuntu.sh`.\ diff --git a/TODO b/TODO index 59432d6..6b432e9 100644 --- a/TODO +++ b/TODO @@ -5,3 +5,4 @@ Track window damages and only update then. That is better for output file size. Getting the texture of a window when using a compositor is an nvidia specific limitation. When gpu-screen-recorder supports other gpus then this can be ignored. Remove dependency on glfw (and glew?). Quickly changing workspace and back while recording under i3 breaks the screen recorder. i3 probably unmaps windows in other workspaces. +Remove hw_get_frame as it creates a new cuda device ptr which we dont use! diff --git a/src/main.cpp b/src/main.cpp index e6532df..2b29d3b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -69,7 +69,7 @@ static const int AUDIO_STREAM_INDEX = 1; static thread_local char av_error_buffer[AV_ERROR_MAX_STRING_SIZE]; static char* av_error_to_string(int err) { - if(av_strerror(err, av_error_buffer, sizeof(av_error_buffer) < 0)) + if(av_strerror(err, av_error_buffer, sizeof(av_error_buffer)) < 0) strcpy(av_error_buffer, "Unknown error"); return av_error_buffer; }