Commit Graph

4 Commits

Author SHA1 Message Date
Julien StJean
35fcf99d86 Changed how the interchange texture factory test the non-power of two texture to reduce the code duplication and remove the config reads from ouside of the game thread.
Added the option to allow the import of non-power of two textures in the interchange generic texture pipeline.
Added some static assert to the interchange texture factory to help the long term maintenance.
Added some functions to the interchange texture 2d factory node to help the manipulation of udims source blocks.
Removed some texture translators since they can share their implementation. That also fixed the difference between interchange and the legacy factory.
Removed a copy of the raw source data for most of the image that are imported by the image wrappers (Tiff was already able to avoid the copy before that). This will greatly reduce the peak memory usage during the imports.
Fixed some other minor issues.

#jira UE-146448, UE-146450, UE-146715, UE-146718
#rb Alexis.Mate
#preflight 6269899ff97c319beba3575c

[CL 19944368 by Julien StJean in ue5-main branch]
2022-04-27 15:02:17 -04:00
Julien StJean
f795604086 Moved the default udim setup from a translator to the pipeline and with that also moved the responsability to generate the blocked payload into the interchange texture factory.
Removed the with_engine defines from the texture factory nodes as those are no longer needed.
Made the texture factory node abstract to reflect the engine structure for those asset.
Removed the asset class attribute for the texture node as it is no longer needed.

#jira UETOOL-4711
#rb Alexis.Matte
#preflight 6216623cc152c67496d9d703

[CL 19094855 by Julien StJean in ue5-main branch]
2022-02-23 12:54:53 -05:00
Julien StJean
1736abbd73 Interchange support properly multiple source files when creating or reimporting an asset.
#jira UETOOL-4041
#rb Alexis.Matte
#preflight 6127e3c7ec82960001cc366c

[CL 17358681 by Julien StJean in ue5-main branch]
2021-08-30 16:52:42 -04:00
Julien StJean
37ff995315 Adding UDIM support to the interchange framework.
I used a confidential dataset to benchmark the performence. 112 png files weighting 3.2 GB.

The old import system took 75.96 seconds to import the data while blocking the gamethread.

The Interchange system took 15.06 seconds to import the data whitout blocking the game thread, but my initial testing found that it resquested around 200 MB of memory then the old system. It's possible that this is due to the memory pool of each thread (it need investigation before jumping to that conclusion).

Those test where made using a machine with a Xeon E5-2643 (6 cores/ 12 Threads)


#rb Alexis.Matte
#jira UEENT-3845

[CL 15164350 by Julien StJean in ue5-main branch]
2021-01-22 12:20:21 -04:00