VSE: new cache implementation

Rework internals of how VSE caching is done. Primarily to make all the
caching logic more understandable from development point of view, but
also has several user visible implications (more details in the PR):
- Simpler and fewer caching UI options,
- Disk cache is gone (primary reason: proxies are kinda the same thing),
- VSE cache size set in preferences is actual size used for VSE caches
  now (previously caching stopped as soon as whole Blender used that
  much memory, even if some memory usage was not about VSE at all),
- Certain scenarios of cache invalidation are faster now.

Pull Request: https://projects.blender.org/blender/blender/pulls/137926
This commit is contained in:
Aras Pranckevicius
2025-05-14 12:59:46 +02:00
committed by Aras Pranckevicius
parent 4627e0d3d0
commit 9e4c26574a
44 changed files with 1181 additions and 2194 deletions

View File

@@ -50,7 +50,6 @@ url_manual_mapping = (
("bpy.types.preferencesedit.show_only_selected_curve_keyframes*", "editors/preferences/animation.html#bpy-types-preferencesedit-show-only-selected-curve-keyframes"),
("bpy.types.preferencesfilepaths.use_auto_save_temporary_files*", "editors/preferences/save_load.html#bpy-types-preferencesfilepaths-use-auto-save-temporary-files"),
("bpy.types.preferencesinput.view_rotate_sensitivity_turntable*", "editors/preferences/navigation.html#bpy-types-preferencesinput-view-rotate-sensitivity-turntable"),
("bpy.types.preferencessystem.sequencer_disk_cache_compression*", "editors/preferences/system.html#bpy-types-preferencessystem-sequencer-disk-cache-compression"),
("bpy.types.rigidbodyconstraint.use_override_solver_iterations*", "physics/rigid_body/constraints/introduction.html#bpy-types-rigidbodyconstraint-use-override-solver-iterations"),
("bpy.types.toolsettings.use_gpencil_vertex_select_mask_stroke*", "grease_pencil/modes/vertex_paint/introduction.html#bpy-types-toolsettings-use-gpencil-vertex-select-mask-stroke"),
("bpy.types.toolsettings.use_grease_pencil_multi_frame_editing*", "grease_pencil/multiframe.html#bpy-types-toolsettings-use-grease-pencil-multi-frame-editing"),
@@ -63,7 +62,6 @@ url_manual_mapping = (
("bpy.types.greasepencillineartmodifier.use_invert_collection*", "grease_pencil/modifiers/generate/line_art.html#bpy-types-greasepencillineartmodifier-use-invert-collection"),
("bpy.types.greasepencillineartmodifier.use_invert_silhouette*", "grease_pencil/modifiers/generate/line_art.html#bpy-types-greasepencillineartmodifier-use-invert-silhouette"),
("bpy.types.preferencesfilepaths.show_hidden_files_datablocks*", "editors/preferences/save_load.html#bpy-types-preferencesfilepaths-show-hidden-files-datablocks"),
("bpy.types.preferencessystem.sequencer_disk_cache_size_limit*", "editors/preferences/system.html#bpy-types-preferencessystem-sequencer-disk-cache-size-limit"),
("bpy.types.rendersettings.compositor_denoise_preview_quality*", "render/eevee/render_settings/performance.html#bpy-types-rendersettings-compositor-denoise-preview-quality"),
("bpy.types.rendersettings.use_sequencer_override_scene_strip*", "editors/video_sequencer/preview/sidebar.html#bpy-types-rendersettings-use-sequencer-override-scene-strip"),
("bpy.types.toolsettings.use_annotation_project_only_selected*", "interface/annotate_tool.html#bpy-types-toolsettings-use-annotation-project-only-selected"),
@@ -232,8 +230,6 @@ url_manual_mapping = (
("bpy.types.preferencesinput.ndof_lock_camera_pan_zoom*", "editors/preferences/input.html#bpy-types-preferencesinput-ndof-lock-camera-pan-zoom"),
("bpy.types.preferencesinput.ndof_view_navigate_method*", "editors/preferences/input.html#bpy-types-preferencesinput-ndof-view-navigate-method"),
("bpy.types.preferencesinput.touchpad_scroll_direction*", "editors/preferences/input.html#bpy-types-preferencesinput-touchpad-scroll-direction"),
("bpy.types.preferencessystem.sequencer_disk_cache_dir*", "editors/preferences/system.html#bpy-types-preferencessystem-sequencer-disk-cache-dir"),
("bpy.types.preferencessystem.use_sequencer_disk_cache*", "editors/preferences/system.html#bpy-types-preferencessystem-use-sequencer-disk-cache"),
("bpy.types.preferencesview.use_filter_brushes_by_tool*", "interface/window_system/regions.html#bpy-types-preferencesview-use-filter-brushes-by-tool"),
("bpy.types.preferencesview.use_text_render_subpixelaa*", "editors/preferences/interface.html#bpy-types-preferencesview-use-text-render-subpixelaa"),
("bpy.types.sequencertimelineoverlay.show_strip_offset*", "editors/video_sequencer/sequencer/display.html#bpy-types-sequencertimelineoverlay-show-strip-offset"),