0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 12:02:23 +02:00
mpv/video
Kacper Michajłow 69891c4070 vo_gpu_next: save cache to separate files
Save the cache to separate files to avoid loading/saving a huge combined
libplacebo.cache. This approach allows the saving of only new cache
objects and avoids resaving the entire cache, especially even if only a
tiny change was made.

This commit improves the cold start time of mpv and avoids saving data
when it's not necessary.

Number of changes were made:
- each cached object is saved in its own file
- cache files are prefixed with the name of cached object
- cache directory is cleaned on each uninit
    - the least recently used cache files are removed if cumulative cache
      size is above limit
    - files used in the recent 24 hours are not removed to allow changes
      to mpv.conf without worrying about the cache being removed during
      experimentation
- shader cache size limit is set to 128 MiB
- icc cache size limit is set to 1.5 GiB
- cache objects are loaded/saved as needed

This commit eliminates the runtime performance penalty associated with
the size cache. While we continue to maintain the cache limit to prevent
retaining stale objects, mpv now only loads a small subset of files that
are currently required for playback, instead of loading all files.
2024-01-31 15:38:21 +00:00
..
decode ALL: use new mp_thread abstraction 2023-11-05 17:36:17 +00:00
filter all: add missing repr assignments 2024-01-26 18:17:02 +02:00
out vo_gpu_next: save cache to separate files 2024-01-31 15:38:21 +00:00
csputils.c all: add missing repr assignments 2024-01-26 18:17:02 +02:00
csputils.h csputils: replace more primitives with pl_ 2024-01-22 14:54:55 +00:00
cuda.c cuda: move --cuda-device to cuda_opts group 2023-09-22 14:20:38 +00:00
d3d.c vo: add missing return variable assignment 2023-11-18 23:55:28 +00:00
d3d.h video: move d3d.c out of decode sub directory 2017-12-01 17:58:56 +01:00
drmprime.c various: drop unused #include "config.h" 2023-02-20 14:21:18 +00:00
fmt-conversion.c hwdec_vulkan: add Vulkan HW Interop 2023-05-28 15:46:05 -07:00
fmt-conversion.h video/fmt-conversion, img_format: change license to LGPL 2017-06-18 15:15:07 +02:00
hwdec.c ALL: use new mp_thread abstraction 2023-11-05 17:36:17 +00:00
hwdec.h hwtransfer: use the right hardware config to find conversion targets 2023-08-26 10:07:55 -07:00
image_loader.c screenshot, vo_image: use global swscale/zimg parameters 2019-10-31 15:44:09 +01:00
image_loader.h x11: load icon differently 2017-07-01 15:56:12 +02:00
image_writer.c csputils: replace mp_chroma_location with pl_chroma_location 2024-01-22 14:54:55 +00:00
image_writer.h video/image_writer: add avif screenshot support 2023-07-01 02:05:23 +00:00
img_format.c csputils: replace mp_colorspace with pl_color_space 2024-01-22 14:54:55 +00:00
img_format.h csputils: replace mp_colorspace with pl_color_space 2024-01-22 14:54:55 +00:00
mp_image_pool.c chmap: mp_image_pool: drop stale mentions of Libav in comments 2024-01-20 16:10:20 +00:00
mp_image_pool.h f_hwtransfer: disable vulkan multiplane images when uploading from cuda 2023-05-28 15:46:05 -07:00
mp_image.c all: add missing repr assignments 2024-01-26 18:17:02 +02:00
mp_image.h csputils: replace mp_chroma_location with pl_chroma_location 2024-01-22 14:54:55 +00:00
repack.c csputils: replace mp_colorspace with pl_color_space 2024-01-22 14:54:55 +00:00
repack.h repack: add support for converting from/to float formats 2020-05-09 18:02:57 +02:00
sws_utils.c csputils: replace mp_chroma_location with pl_chroma_location 2024-01-22 14:54:55 +00:00
sws_utils.h sws_utils: work around libswscale corrupting memory yet again 2020-09-17 15:24:27 +02:00
vaapi.c csputils: replace mp_colorspace with pl_color_space 2024-01-22 14:54:55 +00:00
vaapi.h csputils: replace mp_colorspace with pl_color_space 2024-01-22 14:54:55 +00:00
vdpau_functions.inc vo_vdpau: directly get surface size from surface for screenshots 2015-06-05 22:34:16 +02:00
vdpau_mixer.c csputils: replace more primitives with pl_ 2024-01-22 14:54:55 +00:00
vdpau_mixer.h options: transition options from OPT_FLAG to OPT_BOOL 2023-02-21 17:15:17 +00:00
vdpau.c ALL: use new mp_thread abstraction 2023-11-05 17:36:17 +00:00
vdpau.h ALL: use new mp_thread abstraction 2023-11-05 17:36:17 +00:00
zimg.c csputils: replace more primitives with pl_ 2024-01-22 14:54:55 +00:00
zimg.h options: transition options from OPT_FLAG to OPT_BOOL 2023-02-21 17:15:17 +00:00