Download

Looking for Sparse Class Data feedbacks / infos

Hi !

when 4.24 was annouced they added “Sparse Class Data” ( https://docs.unrealengine.com/en-US/…ata/index.html )

my question is how much worth it is it ?

having a few properties and 401 actors of same bp doesn’t seems to add up to much saved memory

( imagine 3 ints 4 floats 5pointers(assets/textures/classes) )

332 + 432 + 5*64 = 544 bits per actors ==> times 400 (we stiil have it once in memory ) and that makes 217kbits / 28kbytes

the only place where it could save are long strings but i don’t see much long string data on actor i have 400 times on the level

assets path are store as strings, but only for serialized data would that mean smaller packages / map files ? I’m not sure what optimisation are done under the hood, as UE handle the case where an actor on the map has ‘default’ value, pretty sure it doesn’t save duplicated data for EditDefaultOnly properties.

With those numbers i could see a win if there was components support but no more that 10 megabytes ( which would be low for the effort involved )

So my questions are, do i miss something / some classic property that could be ‘heavy’ memory wise ?
did you implement it and was it worth it ?

thanks !

10MBs may not be much for PC and the higher end consoles, but it’s a ton on Mobile / Switch. I imagine this feature came out of Fortnite trying to support those systems (or some programmer saw all this immutable data that is copied around all over the place). It’s just another tool in your basket.

I would only implement it if you reach that point in your project where you are really scrapping around for memory to fit in some budget.

Yeah i totally understand that they probably had a need for fortnite or a partner. even on mobile 10mb isn’t that much ( as i said in my case that would be with component support and heavy refactor work to take most of optimisation possible )

So the question was more : is there a commonly used data structure that is ‘heavy’ and could be a good match ?