aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordec05eba <dec05eba®protonmail.com>2023-04-15 18:59:43 +0200
committerdec05eba <dec05eba@protonmail.com>2023-04-15 19:06:48 +0200
commite410116fe4df7b6de478b14ca074609d03b9e550 (patch)
treef3030f528ed1d2b45ee199af41132fbc7aa91388
parente1ec2dad5b5aec6f2aae8284f8071acf33d1c58e (diff)
Re-enable amd/intel monitor recording
-rw-r--r--README.md4
-rw-r--r--src/main.cpp4
2 files changed, 5 insertions, 3 deletions
diff --git a/README.md b/README.md
index 1a54b3c..13b3de9 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@ More info at [gpu-screen-recorder](https://git.dec05eba.com/gpu-screen-recorder/
This software works only on X11 (Wayland with Xwayland is NOT supported).
### TEMPORARY ISSUES
1) Recording monitor on AMD/Intel has been temporary disables as issues surrounding it are fixed. For now, record a window instead.
-
+2) recording the monitor on steam deck might fail sometimes. This happens even when using ffmpeg directly. This might be a steam deck driver bug. Recording a single window doesn't have this issue.
# Performance
On a system with a i5 4690k CPU and a GTX 1080 GPU:\
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.\
@@ -21,6 +21,8 @@ It is recommended to save the video to a SSD because of the large file size, whi
Note that if you have a very powerful CPU and a not so powerful GPU and play a game that is bottlenecked by your GPU and barely uses your CPU then a CPU based screen recording (such as OBS with libx264 instead of nvenc) might perform slightly better than GPU Screen Recorder. At least on NVIDIA.
## Note about optimal performance on NVIDIA
NVIDIA driver has a "feature" (read: bug) where it will downclock memory transfer rate when a program uses cuda (or nvenc, which uses cuda), such as GPU Screen Recorder. See https://git.dec05eba.com/gpu-screen-recorder/about/ for more information and how to overcome this.
+## Note about optimal performance on AMD/Intel
+Performance is the same when recording a single window or the monitor, however in some cases, such as when gpu usage is 100%, the video capture rate might be slower than the games fps when recording a single window instead of a monitor. Recording the monitor instead is recommended in such cases.
## Installation
This program depends on [gpu-screen-recorder](https://git.dec05eba.com/gpu-screen-recorder/) which needs to be installed first.\
diff --git a/src/main.cpp b/src/main.cpp
index 170cb81..f743a8e 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1794,7 +1794,7 @@ static GtkWidget* create_common_settings_page(GtkStack *stack, GtkApplication *a
record_area_selection_menu = GTK_COMBO_BOX_TEXT(gtk_combo_box_text_new());
gtk_combo_box_text_append(record_area_selection_menu, "window", "Window");
gtk_combo_box_text_append(record_area_selection_menu, "focused", "Follow focused window");
- const bool allow_screen_capture = nvfbc_installed;
+ const bool allow_screen_capture = nvfbc_installed || gpu_inf.vendor != GPU_VENDOR_NVIDIA;
if(allow_screen_capture) {
if(gpu_inf.vendor == GPU_VENDOR_NVIDIA)
gtk_combo_box_text_append(record_area_selection_menu, "screen", "All monitors");
@@ -2341,7 +2341,7 @@ static void load_config(const gpu_info &gpu_inf) {
}
if(config.main_config.record_area_option.empty()) {
- const bool allow_screen_capture = nvfbc_installed;
+ const bool allow_screen_capture = nvfbc_installed || gpu_inf.vendor != GPU_VENDOR_NVIDIA;
if(allow_screen_capture)
config.main_config.record_area_option = "screen";
else