This patch implements dumping images from cache to HDD. The main goal of this system is to provide a means to achieve consistent playback speed mainly for strips that are not possible to preview in real time. How to use: Disk cache has own settings in user preferences for path to storage, size limit and compression level. To use disk cache, you need to check `Use Disk Cache` box, set `Disk Cache Directory`, `Disk Cache Limit` and save or open existing .blend file. By default sequencer output will be cached only. Manual setting is possible in cache panel. Uses: - Replacement or alternative for proxies. Disk cache will work with any strip type, supports float images as well. - Storage for strip thumbnails. - Less RAM needs to be allocated for preview cache How it works: Disk cache is extension of RAM cache. Every image, that is stored or deleted in RAM will be stored or deleted on HDD as well. Images can be compressed to save space and for use on slower drives. Compressed images are slower to write and read though. Images are stored in bulk of 100 rendered frames per one file. This is to overcome slow file access time for large amount of files. Drawback is, that if one frame needs to be redrawn, all 100 frames are deleted. Reviewed By: sergey Differential Revision: https://developer.blender.org/D5524
234 lines
7.1 KiB
C
234 lines
7.1 KiB
C
/*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version 2
|
|
* of the License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software Foundation,
|
|
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
*/
|
|
|
|
/* Preferences Data File 'U_default'. */
|
|
|
|
/* For constants. */
|
|
#include "BLI_math_base.h"
|
|
|
|
#include "DNA_userdef_types.h"
|
|
#include "DNA_curve_types.h"
|
|
#include "DNA_space_types.h"
|
|
#include "DNA_anim_types.h"
|
|
|
|
#include "BLI_math_rotation.h"
|
|
|
|
#include "BKE_blender_version.h"
|
|
|
|
#include "BLO_readfile.h" /* own include */
|
|
|
|
const UserDef U_default = {
|
|
.versionfile = BLENDER_VERSION,
|
|
.subversionfile = BLENDER_SUBVERSION,
|
|
.flag = (USER_AUTOSAVE | USER_TOOLTIPS | USER_SAVE_PREVIEWS | USER_RELPATHS |
|
|
USER_RELEASECONFIRM | USER_SCRIPT_AUTOEXEC_DISABLE | USER_NONEGFRAMES),
|
|
.dupflag = USER_DUP_MESH | USER_DUP_CURVE | USER_DUP_SURF | USER_DUP_FONT | USER_DUP_MBALL |
|
|
USER_DUP_LAMP | USER_DUP_ARM | USER_DUP_ACT | USER_DUP_LIGHTPROBE |
|
|
USER_DUP_GPENCIL,
|
|
.pref_flag = USER_PREF_FLAG_SAVE,
|
|
.savetime = 2,
|
|
.tempdir = "",
|
|
.fontdir = "//",
|
|
.renderdir = "//",
|
|
.render_cachedir = "",
|
|
.textudir = "//",
|
|
.pythondir = "",
|
|
.sounddir = "//",
|
|
.i18ndir = "",
|
|
.image_editor = "",
|
|
.anim_player = "",
|
|
.anim_player_preset = 0,
|
|
.v2d_min_gridsize = 45,
|
|
.timecode_style = USER_TIMECODE_MINIMAL,
|
|
.versions = 1,
|
|
.dbl_click_time = 350,
|
|
.wheellinescroll = 3,
|
|
.mini_axis_type = USER_MINI_AXIS_TYPE_GIZMO,
|
|
.uiflag = (USER_FILTERFILEEXTS | USER_DRAWVIEWINFO | USER_PLAINMENUS |
|
|
USER_LOCK_CURSOR_ADJUST | USER_DEPTH_CURSOR | USER_AUTOPERSP | USER_GLOBALUNDO |
|
|
USER_HIDE_DOT | USER_SHOW_GIZMO_NAVIGATE | USER_SHOW_VIEWPORTNAME | USER_SHOW_FPS |
|
|
USER_CONTINUOUS_MOUSE | USER_SAVE_PROMPT),
|
|
.uiflag2 = USER_REGION_OVERLAP,
|
|
.gpu_flag = USER_GPU_FLAG_OVERLAY_SMOOTH_WIRE,
|
|
.app_flag = 0,
|
|
.language = 0,
|
|
.viewzoom = USER_ZOOM_DOLLY,
|
|
.mixbufsize = 2048,
|
|
.audiodevice = 0,
|
|
.audiorate = 48000,
|
|
.audioformat = 0x24,
|
|
.audiochannels = 2,
|
|
|
|
.ui_scale = 1.0,
|
|
.ui_line_width = 0,
|
|
|
|
/** Default so DPI is detected automatically. */
|
|
.dpi = 0,
|
|
.dpi_fac = 0.0,
|
|
.inv_dpi_fac = 0.0, /* run-time. */
|
|
.pixelsize = 1,
|
|
.virtual_pixel = 0,
|
|
|
|
.scrollback = 256,
|
|
.node_margin = 80,
|
|
.transopts = USER_TR_TOOLTIPS,
|
|
.menuthreshold1 = 5,
|
|
.menuthreshold2 = 2,
|
|
.app_template = "",
|
|
|
|
/** Initialized by #UI_theme_init_default. */
|
|
.themes = {NULL},
|
|
|
|
/** Initialized by #uiStyleInit. */
|
|
.uifonts = {NULL},
|
|
.uistyles = {NULL},
|
|
|
|
.user_keymaps = {NULL},
|
|
.user_keyconfig_prefs = {NULL},
|
|
|
|
/** Initialized by #BKE_blendfile_userdef_from_defaults. */
|
|
.addons = {NULL},
|
|
|
|
.autoexec_paths = {NULL},
|
|
.user_menus = {NULL},
|
|
|
|
.keyconfigstr = "blender",
|
|
.undosteps = 32,
|
|
.undomemory = 0,
|
|
.gp_manhattendist = 1,
|
|
.gp_euclideandist = 2,
|
|
.gp_eraser = 25,
|
|
.gp_settings = 0,
|
|
|
|
/** Initialized by: #BKE_studiolight_default . */
|
|
.light_param = {{0}},
|
|
.light_ambient = {0, 0, 0},
|
|
|
|
.gizmo_flag = USER_GIZMO_DRAW,
|
|
.gizmo_size = 75,
|
|
.edit_studio_light = 0,
|
|
.lookdev_sphere_size = 150,
|
|
.vbotimeout = 120,
|
|
.vbocollectrate = 60,
|
|
.textimeout = 120,
|
|
.texcollectrate = 60,
|
|
|
|
/** Clamped by half the systems memory. */
|
|
.memcachelimit = 4096,
|
|
|
|
.prefetchframes = 0,
|
|
.pad_rot_angle = 15,
|
|
.rvisize = 25,
|
|
.rvibright = 8,
|
|
.recent_files = 10,
|
|
.smooth_viewtx = 200,
|
|
.glreslimit = 0,
|
|
.color_picker_type = USER_CP_CIRCLE_HSV,
|
|
.auto_smoothing_new = FCURVE_SMOOTH_CONT_ACCEL,
|
|
.ipo_new = BEZT_IPO_BEZ,
|
|
.keyhandles_new = HD_AUTO_ANIM,
|
|
.view_frame_type = ZOOM_FRAME_MODE_KEEP_RANGE,
|
|
.view_frame_keyframes = 0,
|
|
.view_frame_seconds = 0.0,
|
|
.widget_unit = 0, /* run-time initialized. */
|
|
.anisotropic_filter = 2,
|
|
.tablet_api = USER_TABLET_AUTOMATIC,
|
|
.pressure_threshold_max = 1.0,
|
|
.pressure_softness = 0.0,
|
|
.ndof_sensitivity = 4.0,
|
|
.ndof_orbit_sensitivity = 4.0,
|
|
.ndof_deadzone = 0.1,
|
|
.ndof_flag = (NDOF_MODE_ORBIT | NDOF_LOCK_HORIZON | NDOF_SHOULD_PAN | NDOF_SHOULD_ZOOM |
|
|
NDOF_SHOULD_ROTATE |
|
|
/* Software from the driver authors follows this convention
|
|
* so invert this by default, see: T67579. */
|
|
NDOF_ROTX_INVERT_AXIS | NDOF_ROTY_INVERT_AXIS | NDOF_ROTZ_INVERT_AXIS |
|
|
NDOF_PANX_INVERT_AXIS | NDOF_PANY_INVERT_AXIS | NDOF_PANZ_INVERT_AXIS |
|
|
NDOF_ZOOM_INVERT),
|
|
.image_draw_method = IMAGE_DRAW_METHOD_AUTO,
|
|
.glalphaclip = 0.004,
|
|
.autokey_mode = (AUTOKEY_MODE_NORMAL & ~AUTOKEY_ON),
|
|
.autokey_flag = AUTOKEY_FLAG_XYZ2RGB,
|
|
.text_render = 0,
|
|
.navigation_mode = VIEW_NAVIGATION_WALK,
|
|
.view_rotate_sensitivity_turntable = DEG2RAD(0.4),
|
|
.view_rotate_sensitivity_trackball = 1.0f,
|
|
|
|
/** Initialized by #BKE_colorband_init. */
|
|
.coba_weight = {0},
|
|
|
|
.sculpt_paint_overlay_col = {0, 0, 0},
|
|
.gpencil_new_layer_col = {0.38, 0.61, 0.78, 0.9},
|
|
.drag_threshold_mouse = 3,
|
|
.drag_threshold_tablet = 10,
|
|
.drag_threshold = 30,
|
|
.move_threshold = 2,
|
|
.font_path_ui = "",
|
|
.font_path_ui_mono = "",
|
|
.compute_device_type = 0,
|
|
.fcu_inactive_alpha = 0.25,
|
|
.pie_tap_timeout = 20,
|
|
.pie_initial_timeout = 0,
|
|
.pie_animation_timeout = 6,
|
|
.pie_menu_confirm = 0,
|
|
.pie_menu_radius = 100,
|
|
.pie_menu_threshold = 12,
|
|
.opensubdiv_compute_type = 0,
|
|
.factor_display_type = USER_FACTOR_AS_FACTOR,
|
|
.render_display_type = USER_RENDER_DISPLAY_WINDOW,
|
|
.filebrowser_display_type = USER_TEMP_SPACE_DISPLAY_WINDOW,
|
|
.viewport_aa = 8,
|
|
|
|
.walk_navigation =
|
|
{
|
|
.mouse_speed = 1,
|
|
.walk_speed = 2.5,
|
|
.walk_speed_factor = 5,
|
|
.view_height = 1.6,
|
|
.jump_height = 0.4,
|
|
.teleport_time = 0.2,
|
|
.flag = 0,
|
|
},
|
|
|
|
.space_data =
|
|
{
|
|
.section_active = USER_SECTION_INTERFACE,
|
|
},
|
|
|
|
.file_space_data =
|
|
{
|
|
.display_type = FILE_VERTICALDISPLAY,
|
|
.thumbnail_size = 128,
|
|
.sort_type = FILE_SORT_ALPHA,
|
|
.details_flags = FILE_DETAILS_SIZE | FILE_DETAILS_DATETIME,
|
|
.flag = FILE_HIDE_DOT,
|
|
.filter_id = FILTER_ID_ALL,
|
|
|
|
.temp_win_sizex = 1020,
|
|
.temp_win_sizey = 600,
|
|
},
|
|
|
|
.sequencer_disk_cache_dir = "",
|
|
.sequencer_disk_cache_compression = 0,
|
|
.sequencer_disk_cache_size_limit = 100,
|
|
.sequencer_disk_cache_flag = 0,
|
|
|
|
.runtime =
|
|
{
|
|
.is_dirty = 0,
|
|
},
|
|
};
|