godotengine / godotengine/godot

Moving directory reimports image assets and recalculates all metadata

Open
#92,083 8 comments 0 reactions 0 assignees View on GitHub
bug confirmed performance topic:editor topic:import
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

4.2.2 - reproducable

### System information

Windows 7

### Issue description

Moving a directory of already imported assets (jpgs in this case) re-imports them at great computational expense.

I don't know what the import process entails, but given the insane temporary resource usage (12GB of RAM for this use-case), I expect part of it is analysing the images themselves to gather metadata, which makes sense. However, when moving a directory, Godot should only need to change relative file locations in the metadata; not do anything computationally expensive like recalculate all of the imagery metadata.

### Steps to reproduce

1) Create a new project
2) add a directory of several hundred MB of pictures to the project. Ideally some of them should be 30+MB in size.
3) Create a subfolder.
3) In godot, drag the directory of images into the subfolder

### Minimal reproduction project (MRP)

N/A

Contributor guide

Open the contributing guide

Research direction

No implementation files or tests are named. Start by reproducing the directory move with several hundred MB of large images, then trace Godot's asset-import handling to identify why existing image metadata is recalculated. Done means moving the directory updates its relative locations without reprocessing the image data or causing excessive temporary memory use.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
performance, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.