godot/editor
aaronp64 f81e0fcbf4 Improve memory usage for image import and PortableCompressedTexture2D
When importing images, we store a compressed version of the image to a .ctex file with ResourceImporterTexture::save_to_ctex_format.  When importing many large images at once, this can use a large amount of memory, especially when the .ctex file uses WebP format.

This change is for ResourceImporterTexture::save_to_ctex_format to use the original Image object instead of p_image->get_image_from_mipmap(0), to avoid creating a copy of the full uncompressed image when looping through the base Image and mipmaps.  This reduces the import memory usage for large images by around 10% when using WebP, and 35-40% when Project Settings/Rendering/Textures/Lossless Compression/Force PNG is enabled, may vary depending on the image and number of import threads running.  Same change applied to PortableCompressedTexture2D::create_from_image, which has similar logic.

This helps with #92084, but does not fully resolve the issue on its own, as compressing with WebP on many threads can still use a large amount of memory - this just lowers that amount, and makes it more likely that enabling "Force PNG" will reduce memory usage enough to import the files.
2024-05-20 19:40:39 -04:00
..
debugger [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
export [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
gui [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
icons Fix FileBrowse and FolderBrowse icon style fill not getting replaced 2024-05-10 23:46:09 -03:00
import Improve memory usage for image import and PortableCompressedTexture2D 2024-05-20 19:40:39 -04:00
plugins Merge pull request #91874 from Nodragem/editor-scene-drag-and-drop-default 2024-05-17 11:13:57 +02:00
project_manager [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
themes [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
translations i18n: Sync translations with Weblate 2024-05-07 11:52:38 +02:00
action_map_editor.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
action_map_editor.h Add Ctrl + L / Cmd + Shift + G shortcut to focus path bar in FileDialog 2024-03-05 00:02:09 +01:00
animation_bezier_editor.cpp Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
animation_bezier_editor.h Merge pull request #88498 from CookieBadger/animation-fix-snapping-multiple 2024-03-24 01:14:23 +01:00
animation_track_editor.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
animation_track_editor.h Merge pull request #88498 from CookieBadger/animation-fix-snapping-multiple 2024-03-24 01:14:23 +01:00
animation_track_editor_plugins.cpp
animation_track_editor_plugins.h
audio_stream_preview.cpp Fix member names of AudioFrame to match extension 2024-02-13 15:37:09 +01:00
audio_stream_preview.h
code_editor.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
code_editor.h Overhaul multiple caret editing in TextEdit. 2024-04-26 14:26:10 -04:00
connections_dialog.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
connections_dialog.h Editor: Display deprecated/experimental messages in tooltips 2024-04-18 14:32:04 +03:00
create_dialog.cpp Improve performance of the 'Create New Node' dialog 2024-05-15 20:50:13 +02:00
create_dialog.h Improve performance of the 'Create New Node' dialog 2024-05-15 20:50:13 +02:00
dependency_editor.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
dependency_editor.h
directory_create_dialog.cpp
directory_create_dialog.h
doc_tools.cpp Replace find with contains/has where applicable 2024-05-08 12:37:42 +02:00
doc_tools.h Generate docs from GDExtensions using --gdextension-docs with --doctool 2024-05-07 11:45:17 -05:00
editor_about.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
editor_about.h Improve look of Donors list in Editor's About 2024-02-17 23:43:17 +01:00
editor_asset_installer.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
editor_asset_installer.h
editor_atlas_packer.cpp Use Vector* component-wise min/max/clamp functions where applicable 2024-03-20 13:47:42 +01:00
editor_atlas_packer.h
editor_audio_buses.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
editor_audio_buses.h Organize existing code for editor plugins 2024-04-27 11:59:58 -07:00
editor_autoload_settings.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
editor_autoload_settings.h Add Ctrl + L / Cmd + Shift + G shortcut to focus path bar in FileDialog 2024-03-05 00:02:09 +01:00
editor_build_profile.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
editor_build_profile.h Editor: Display deprecated/experimental messages in tooltips 2024-04-18 14:32:04 +03:00
editor_builders.py SCons: Colorize warnings/errors during generation 2024-04-28 16:24:48 -05:00
editor_command_palette.cpp Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
editor_command_palette.h
editor_data.cpp Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
editor_data.h Enforce template syntax typename over class 2024-03-07 22:39:09 -06:00
editor_dock_manager.cpp Merge pull request #91939 from AThousandShips/pressed_sname 2024-05-14 18:10:05 +02:00
editor_dock_manager.h Allow setting editor dock tabs to icon only 2024-04-30 09:34:14 +08:00
editor_feature_profile.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
editor_feature_profile.h Editor: Display deprecated/experimental messages in tooltips 2024-04-18 14:32:04 +03:00
editor_file_system.cpp Skip unnecessary updates to scene groups and scripts 2024-05-15 16:48:01 +02:00
editor_file_system.h Skip unnecessary updates to scene groups and scripts 2024-05-15 16:48:01 +02:00
editor_folding.cpp
editor_folding.h
editor_help.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
editor_help.h Editor: Fix categories and tooltips in TileSet editor 2024-05-14 10:23:14 +03:00
editor_help_search.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
editor_help_search.h Organize existing code for editor plugins 2024-04-27 11:59:58 -07:00
editor_inspector.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
editor_inspector.h Editor: Fix categories and tooltips in TileSet editor 2024-05-14 10:23:14 +03:00
editor_interface.cpp Optimise Object's get_argument_options 2024-02-29 18:00:54 +01:00
editor_interface.h Optimise Object's get_argument_options 2024-02-29 18:00:54 +01:00
editor_layouts_dialog.cpp Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
editor_layouts_dialog.h
editor_locale_dialog.cpp Fix missing i18n for some editor strings 2024-04-03 16:42:28 +08:00
editor_locale_dialog.h
editor_log.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
editor_log.h Add line limit to Editor Output Log 2024-05-02 13:28:59 +01:00
editor_native_shader_source_visualizer.cpp Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
editor_native_shader_source_visualizer.h Improve the editor native shader source visualizer 2024-03-22 00:17:32 +01:00
editor_node.cpp Merge pull request #91930 from godotengine/revert-90608-editor/enable-plugin-after-adding 2024-05-15 20:21:32 +02:00
editor_node.h Remove error messages caused by Save on Focus feature 2024-05-08 13:42:45 +03:00
editor_paths.cpp Automatically generate the Android debug keystore 2024-04-12 23:53:28 -07:00
editor_paths.h Automatically generate the Android debug keystore 2024-04-12 23:53:28 -07:00
editor_properties.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
editor_properties.h Add colored margin in Inspector for arrays and dictionaries. 2024-05-03 10:56:23 +02:00
editor_properties_array_dict.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
editor_properties_array_dict.h Add colored margin in Inspector for arrays and dictionaries. 2024-05-03 10:56:23 +02:00
editor_properties_vector.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
editor_properties_vector.h
editor_property_name_processor.cpp Replace find with contains/has where applicable 2024-05-08 12:37:42 +02:00
editor_property_name_processor.h Add context support for editor property name i18n 2024-03-31 18:40:14 +08:00
editor_quick_open.cpp Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
editor_quick_open.h Added tokenized search support to Quick Open dialog and FileSystem filter. 2024-04-17 21:12:55 -05:00
editor_resource_picker.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
editor_resource_picker.h Merge pull request #84443 from KoBeWi/cookies_for_EditorResourcePicker 2024-04-30 17:02:58 +02:00
editor_resource_preview.cpp Add a way to invalidate preview cache 2024-04-26 16:57:45 +02:00
editor_resource_preview.h Add a way to invalidate preview cache 2024-04-26 16:57:45 +02:00
editor_run.cpp Allow to set custom feature tags for testing 2024-02-13 17:38:45 +01:00
editor_run.h Add a dialog to customize run instances 2024-02-05 19:07:31 +01:00
editor_run_native.cpp Disable remote debug button when there are no runnable presets 2024-05-17 00:15:13 +02:00
editor_run_native.h Display a warning if device CPU architecture is not active in the export preset. 2024-02-23 01:37:32 +01:00
editor_script.cpp
editor_script.h
editor_sectioned_inspector.cpp [Core] Add case-insensitive String::containsn 2024-05-08 12:48:01 +02:00
editor_sectioned_inspector.h
editor_settings.cpp [Editor] Add editor setting to control "disable_embedded_bitmaps" property of the editor fonts. 2024-05-14 09:26:22 +03:00
editor_settings.h Use minor version in EditorSettings file name 2024-04-19 00:13:06 +02:00
editor_settings_dialog.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
editor_settings_dialog.h
editor_string_names.cpp
editor_string_names.h
editor_translation.cpp Improve string extraction of ETR POT file 2024-05-07 22:12:40 -03:00
editor_translation.h Improve string extraction of ETR POT file 2024-05-07 22:12:40 -03:00
editor_translation_parser.cpp Reduce and prevent unnecessary random-access to List 2024-05-04 16:08:55 +02:00
editor_translation_parser.h
editor_undo_redo_manager.cpp Check if history exists before discarding 2024-02-05 17:42:37 +01:00
editor_undo_redo_manager.h Check if history exists before discarding 2024-02-05 17:42:37 +01:00
editor_vcs_interface.cpp Add const lvalue ref to editor/* container parameters 2024-02-26 15:28:15 -03:00
editor_vcs_interface.h Add const lvalue ref to editor/* container parameters 2024-02-26 15:28:15 -03:00
engine_update_label.cpp Change update checker version source 2024-05-02 15:32:24 +02:00
engine_update_label.h Hide update status label when no action is required 2024-04-22 21:36:22 +02:00
event_listener_line_edit.cpp Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
event_listener_line_edit.h
fbx_importer_manager.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
fbx_importer_manager.h
filesystem_dock.cpp Fix Tree and FileSystemList edit popup double events and ESC behavior. 2024-05-17 10:03:52 +03:00
filesystem_dock.h Fix Tree and FileSystemList edit popup double events and ESC behavior. 2024-05-17 10:03:52 +03:00
find_in_files.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
find_in_files.h Hide Search Results by default. Show it on first search and push it at the end. Add a close button to hide it back. Also switch to Script Editor if a searched line is clicked. 2024-03-16 20:42:05 +01:00
group_settings_editor.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
group_settings_editor.h Add Ctrl + L / Cmd + Shift + G shortcut to focus path bar in FileDialog 2024-03-05 00:02:09 +01:00
groups_editor.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
groups_editor.h
history_dock.cpp Save scene and global checkbox options of History window, fixes #88432 2024-02-29 22:51:18 +00:00
history_dock.h Save scene and global checkbox options of History window, fixes #88432 2024-02-29 22:51:18 +00:00
import_defaults_editor.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
import_defaults_editor.h
import_dock.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
import_dock.h Fix errors/crashes related to skipped imports 2024-04-25 10:33:59 -04:00
input_event_configuration_dialog.cpp Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
input_event_configuration_dialog.h Remove unnecessary focus methods and directly bind to 'set_close_on_escape' 2024-02-02 09:03:38 -05:00
inspector_dock.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
inspector_dock.h Add const lvalue ref to editor/* container parameters 2024-02-26 15:28:15 -03:00
localization_editor.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
localization_editor.h Add option to add built-in strings in the POT generation 2024-02-28 11:34:26 -03:00
multi_node_edit.cpp Fix going forward backward in editor selection history. 2024-04-14 17:21:11 +02:00
multi_node_edit.h [Core] Add LocalVector::has for convenience 2024-05-06 18:03:37 +02:00
node_dock.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
node_dock.h
pot_generator.cpp Improve string extraction of ETR POT file 2024-05-07 22:12:40 -03:00
pot_generator.h
progress_dialog.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
progress_dialog.h
project_converter_3_to_4.cpp Add const lvalue ref to editor/* container parameters 2024-02-26 15:28:15 -03:00
project_converter_3_to_4.h Add const lvalue ref to editor/* container parameters 2024-02-26 15:28:15 -03:00
project_manager.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
project_manager.h Fix folder scan replacing project list 2024-04-18 13:03:21 +02:00
project_settings_editor.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
project_settings_editor.h Organize existing code for editor plugins 2024-04-27 11:59:58 -07:00
property_selector.cpp Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
property_selector.h
register_editor_types.cpp Allow configuring the script filename casing rule 2024-03-05 09:43:29 +01:00
register_editor_types.h
register_exporters.h
rename_dialog.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
rename_dialog.h Add const lvalue ref to editor/* container parameters 2024-02-26 15:28:15 -03:00
renames_map_3_to_4.cpp Add ufbx for FBX importing 2024-02-23 22:33:04 +01:00
renames_map_3_to_4.h
reparent_dialog.cpp Improve SceneTreeEditor usability 2024-03-31 21:35:10 +02:00
reparent_dialog.h
run_instances_dialog.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
run_instances_dialog.h Allow to set custom feature tags for testing 2024-02-13 17:38:45 +01:00
scene_create_dialog.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
scene_create_dialog.h
scene_tree_dock.cpp Fix Control resizing wrongly after "change type" in editor 2024-05-14 21:51:35 +02:00
scene_tree_dock.h Fix going forward backward in editor selection history. 2024-04-14 17:21:11 +02:00
script_create_dialog.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
script_create_dialog.h Allow configuring the script filename casing rule 2024-03-05 09:43:29 +01:00
SCsub SCons: Generate all scripts natively 2024-05-07 15:30:45 -05:00
shader_create_dialog.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
shader_create_dialog.h
shader_globals_editor.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
shader_globals_editor.h Organize existing code for editor plugins 2024-04-27 11:59:58 -07:00
surface_upgrade_tool.cpp Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
surface_upgrade_tool.h
template_builders.py SCons: Remove run_in_subprocess dependency 2024-03-11 13:20:09 -05:00
window_wrapper.cpp [Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
window_wrapper.h Add const lvalue ref to editor/* container parameters 2024-02-26 15:28:15 -03:00