Skip to content

EXR/HDR file import is very slow if using VRAM compression #80456

@WebFreak001

Description

@WebFreak001

Godot version

v4.1.1.stable.arch_linux

System information

Godot v4.1.1.stable unknown - Arch Linux #1 SMP PREEMPT_DYNAMIC Wed, 02 Aug 2023 10:12:55 +0000 - Vulkan (Forward+) - integrated Intel(R) HD Graphics 620 (KBL GT2) () - Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz (4 Threads)

Issue description

Sometimes when having an OpenEXR file in the project, the import takes multiple minutes for a 4k x 4k texture on my machine. This occurred when exporting the image from Blender, with half-float color depth.

Sometimes it imported much faster, in these cases I exported the EXR file with full-float color depth instead of half-float color depth. I'm not sure if that's really the root reason here though. I haven't tried the importing on this machine of the full-float file, only on my much faster PC, which was able to load the full float one quite quickly and also needed like 20s to load the half-float one, but I haven't done precise measurements. The time difference might not actually be that high.

Steps to reproduce

I used a kind of big blender scene for my rendered EXR file, it didn't work for me with a simple default cube render exported from Blender. You can try out the exr files from this folder (they are half-float exported and take up to multiple minutes to import): https://github.com/NanahiraCommunity/Birthday23/tree/da501510cc34ef9ca79650e6c2e6dd5fec0dd95d/shared/sky

The .blend file is also in there, if you want to render a full-float exr file. The resulting exr file is larger than 100 MiB, so I can't upload it to my github project. It takes about 2h to render on CPU (AMD Ryzen 7 5700X) in full size though.

See minimal reproduction project below for something to just try out.

Minimal reproduction project

slow_exr_repro.zip

when opening this project, it takes unreasonably long until the import is done. When moving the file into an already open godot project, the import also seems to be much faster for some reason. The .import file might also affect something here, though I'm not sure.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions