With the geometry data getting bigger and bigger we hit more often the int32 limits of the default TArray. All geometry data is store in array so we cannot have more then 2GB of vertexinstances or triangles.
Some FArchive like the duplicate use a TArray to store the object.
With that said we need a way to have bigger array.
I propose something like this to be able to not duplicate the code, this is only a proposition
TArray can be change for TArray<Foo, AllocatorFoo, IndexType> IndexType by default will be int32 and we can define TArray64<Foo, AllocatorFoo> to TArray<Foo, AllocatorFoo, int64>
Duplicate a UObject that is byte sum is bigger then max integer (> ~2GB). This archive use a TArray<uint8> to serialize all the data.
Currently we are using the duplicate archive to build the MeshDescription. When importing 8 millions polygons fbx, the size of the duplicate archive is more then 2GB and the editor crash. Temporary we will write our own duplicate function to avoid the crash but see the description to why we need this in mid term
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-58354 in the post.
3 |
Component | UE - Foundation - Core |
---|---|
Target Fix | 5.0 |
Created | Apr 27, 2018 |
---|---|
Resolved | Jul 14, 2021 |
Updated | Jul 19, 2021 |