mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 13:08:50 +02:00
01b61fafbf
During high graphics thread pressure it can take a significant time to acquire the graphics lock. This change releases the OpenGL texture after rendering to avoid the 2nd lock after sending the frame to FFmpeg. This improves 99%-tile/100%-tile and median encode in a near encoder overload scenario, and modestly raises the ceiling before encoder overload in my test scene. Master: min=0 ms, median=4.29 ms, max=33.072 ms, 99th percentile=8.877 ms min=0 ms, median=4.438 ms, max=77.157 ms, 99th percentile=9.853 ms min=0 ms, median=4.527 ms, max=57.292 ms, 99th percentile=9.282 ms This commit: min=0.97 ms, median=3.009 ms, max=13.215 ms, 99th percentile=5.899 ms min=1.181 ms, median=2.91 ms, max=9.854 ms, 99th percentile=5.56 ms min=0.461 ms, median=3.013 ms, max=10.693 ms, 99th percentile=5.871 ms |
||
---|---|---|
.. | ||
cmake | ||
data/locale | ||
ffmpeg-mux | ||
obs-amf-test | ||
obs-nvenc-test | ||
CMakeLists.txt | ||
obs-ffmpeg-audio-encoders.c | ||
obs-ffmpeg-av1.c | ||
obs-ffmpeg-compat.h | ||
obs-ffmpeg-config.h.in | ||
obs-ffmpeg-formats.h | ||
obs-ffmpeg-hls-mux.c | ||
obs-ffmpeg-logging.c | ||
obs-ffmpeg-mpegts.c | ||
obs-ffmpeg-mux.c | ||
obs-ffmpeg-mux.h | ||
obs-ffmpeg-nvenc.c | ||
obs-ffmpeg-output.c | ||
obs-ffmpeg-output.h | ||
obs-ffmpeg-rist.h | ||
obs-ffmpeg-source.c | ||
obs-ffmpeg-srt.h | ||
obs-ffmpeg-url.h | ||
obs-ffmpeg-vaapi.c | ||
obs-ffmpeg-video-encoders.c | ||
obs-ffmpeg-video-encoders.h | ||
obs-ffmpeg.c | ||
obs-nvenc-helpers.c | ||
obs-nvenc-ver.h | ||
obs-nvenc.c | ||
obs-nvenc.h | ||
texture-amf-opts.hpp | ||
texture-amf.cpp | ||
vaapi-utils.c | ||
vaapi-utils.h |