Importing DDS Cubemaps takes very, very long

Whenever I try to import images into the editor, even the smallest images take a noticeable amount of time to import, and worse, larger images take an extremely long time. I can import these exact same images into Unity however in seconds.

I just did a test with two cubemaps that I have made for skyboxes. I dragged and dropped both images at once into Unity and Unreal:
Unity: About 10 seconds
Unreal: 20 minutes!

This isn’t an exaggeration. I wasn’t timing things with a stopwatch, just the clock, so I can’t say down to the second but I dragged and dropped them into Unity and it was pretty much instantly imported, but the Unreal import started at 9:20 and finished at 9:40.

Now I also notice large PNG images taking longer than they should, but they are still at least under a minute or so. But DDS textures like this are taking an insanely long time, and as stated they import into Unity in just seconds.

The test above was done with two .dds cubemaps that are 96MB each. The files are too large to attach so I have put them on Dropbox:

Hey John -

Thank you for your report. I am getting the same behavior and have asked our engineers to look into what is causing this issue, for reference UE-11384. As soon as I know anything further I will post back here.

Thank You Again

Eric Ketchum

Still really slow with 4.7.5 in case anyone was wondering.

This issue is scheduled for a fix in 4.8 assuming everything passes QA testing.

Thank You

Eric Ketchum

4.8.2 and still not fixed. For when is it scheduled?

I wouldn’t hold your breath. I don’t think a single bug I have reported has ever been fixed officially.

This fix was integrated into 4.8.

In the provided test asset the improvement was that it not takes less time to import. In the test asset, it took ~20 minutes for it to import, where as now, on our machines it is taking ~8-9 minutes to import.

Im importing a 6x 4k cubemap (DDS) So that is a 384mb dds. It takes a 16GB DDR3L (1600MHz) Kingston HyperX , Intel® Core™ i7-4700MQ (6M Cache, 3,4GHz) Samsung 850 EVO Solid State Disk More than 1,5 hour.

After I imported it I found out it was the wrong one. Quite anoying to wait the whole day.

Can I ask which size your DDS file was and the specs of the machine that did it in 8-9 minutes?

PS: Great Job on doubling the speed!

Thanks in advance,

ERuts

Update: Finaly it got imported, but after 3 minutes the editor chrased. Now i need to import it again.

Also, the quality is not as expected! The image is before importing in UE4. After importing it has a kind of pixelated dots in it. (No image due the crash) Do you know how to solve this?
[

][1]

Well that certainly sounds like an improvement, but surely something is still broken in there, because it should only take a few seconds to import them.

We further investigated and found some bigger issues we are about to fix. I cannot promise on when that goes it.
In the cubemap.dds and .hdr case we actually don’t just import we also preconvolve the content and store that in the mip maps (fancy name for blurring). This is for AmbientCubemap only use to get efficient ImageBasedLighting. There should be an option to not do that as it’s not always needed. That code is fast enough when used for small sizes which is reasonable for AmbientCubemaps but not useful for skybox like textures (We usually do those as 2d textures mapped with a longitude/latitude mapping and only texture a hemisphere, not the full sphere). We also have plans to optimize that. A GPU implementation is tempting but problematic as this might be an operation we want during cooking and that should be possible without a GPU (server machine).
… We are on it, sorry for the inconvenience.

Thank You for your reply and clear explanation. It is very much appreciated and clears up alot! Kind regards

Can you explain how to map a 2d texture with a longitude/latitude in order to not have those awful curved effects in a skybox?

Hi Meta Developer -

Can you post this question as a separate Answerhub post in Rendering?

Thank You

Eric Ketchum

In 4.10.2 and it still takes ages to import a 96meg DDS file. Any news on this?

Seems to be fixed. I’m on 4.12.5 and a 2kx6 DDS cubemap takes around 3 minutes.

still super slow in 4.22

Agreed… Terrible.