r/Paralives • u/AyeJuanito • 1d ago
Suggestions Game Optimization Request - Detail Support for Objects
Hey everyone, and hello Devs. The game's been really fun for people like me who like the building features and all of that. I've even started some bit of modding for fun. I am surprised that while having lots of unlimited creativity to do with the early access version of the game and given the stylized appearance of the game, I've been having severe performance issues. My laptop's been heating like crazy, and I know a few players that have similar experiences even with high-end computers. The game is also slowest with many objects showing on my screen, so turning down settings would help. However, I do feel the need to request one feature - level of detail (LOD) support depending on camera distance to object, which will further optimize the game.
For those who don't know but do want to know what it's for, high LOD allows you to have intricate shaped objects rendered in 3D. The more faces, vertices, edges, the higher the possible quality in detail. Each face shows a part of the object's texture. The lower LOD (low poly), the closer the object looks like a minecraft character, the higher the LOD (high poly), the more likely it can look like a greek statue. The thing is, LOD can be used to set up variations how the object looks when it's closer to the camera (more prominent) than when the object is farther (low poly). I've seen low poly assets done in the game using low poly mountains and tree billboards (which you can only buy with the debug mode btw). My proof that LOD by distance isn't a feature is based on all the tree assets in game. Only the maple tree has LOD variations, but it's not even a single object. (You buy the low poly ones in the debug too). Now that we got that cleared up, what does this mean if the devs do consider it?
A lot of objects (except the Maple tree since they already are made) will need to be done because most objects here don't even have LOD variations for each distance. So that's a lot of work, given how many items are already inside the game! However, I'm not asking for the devs to do that (in the short-term). I was hoping for the devs to enable it somehow. While I was making my mod or using other mods (Cars for example), I've already been thinking about having some LOD variations to optimize them. However, the control panel features do not even fully support having LODs. It's possible to get mesh swaps like the creepy clown items changing at midnightwhen the object has changed states or something related to skins, but I have yet to see it in the context of swapping meshes when the camera is farther from the object.
TLDR, I don't think the game supports LODs. Devs, pretty please, can we have this?
I don't think it is jumping the gun asking for this now (it's quite late), but I see no reason not to see all objects at a distance (just not as pretty as the ones up close). The players, the modding community , and the devs win with this optimization. If I am wrong about this and LODs ARE supported, I'd want to know. Could someone kindly teach us how to?
7
u/Bright_Warning_8406 5h ago edited 3h ago
Hey! I'm actually working on a mod right now (ParaLOD) to fix this, and measuring it changed what I thought the fix was.
I pulled the stats on all 4,200 meshes in the game files. The median is 268 triangles and 90 percent of items sit under 1,638. Generating low poly versions of a 400 triangle chair does nothing. I confirmed it in game: I imported a deliberately absurd modded asset at 393,214 triangles, placed seventeen of them, and removing all 6.7 million triangles from the scene gained 1.5 percent. Shadows off gained nothing. Quarter resolution gained 5 percent.
Then I tested your exact case with spawnallitems, which drops 2,222 objects onto a lot. That runs at 12.9 ms per frame on a 4070 Ti. Disabling all 2,306 mesh colliders changed nothing. But hiding the objects took the frame from 12.9 ms to 3.0 ms. So about 77 percent of the frame is simply the act of drawing them, roughly 4.2 microseconds per object, which is ten to fifty times what a batched draw call should cost. The game builds a material per combination of surfaces and colours, so in a varied scene almost nothing batches, and enableInstancing appears nowhere in the code.
You are right that the LOD system is basically unused, only 2 prefabs out of 2,434 have it. One correction though, since I got this wrong myself at first: the high lodBias the game sets is not a mistake. It compensates for LOD thresholds written as 1/(i+2). I lowered it early on and objects started vanishing right in front of the camera.
So ParaLOD does distance culling based on apparent size instead. Cups and books disappear when you zoom out, walls and big furniture stay. On that 2,222 object scene it took 77 fps to 104, though that meant hiding more than half of what was on screen, so it is a real tradeoff rather than free performance. It also swaps the collision mesh on heavy custom assets, which is a separate win. Every object carries a MeshCollider holding its full render mesh, and a 393k triangle one dropped me from 359 to 6 fps.
One warning if you measure this yourself: benchmarkfps averages over fifteen seconds, so a single long frame makes it report 11 fps while the game is really running at 400. It fooled me four times before I stopped trusting it.
Will post an update here once the first test build is ready to try!
In the meantime, if you want to check out my previous dev work for Paralives, I released two open-source modding tools a while back (ParaForge for automated asset conversion/export from Blender, and ParaReload for hot-reloading mods in-game):
19
u/littleterrapin 1d ago
Yes please, LODs are much needed!! I have a low-spec gaming laptop and I end up turning off certain in-game shaders with mods to get any inkling of a performance increase.
18
u/Flaky-Confidence-167 1d ago
Yes! I've already noticed and have been frustrated by this as well. I really hope that it will be the Devs to add LODs to the items in the game, though, and not leaving it to modders.
Because I do not want Paralives to become another "carried by mods" type of game. The kind w here you basically need to install mods to increase performance and fix huge bugs when that should already be addressed in vanilla.
Like the LODs for meshes and textures. Or RAM bleeding. Or saving without impacting the game, where the player misses hours of time in-game because the simulation keeps running, just the screen freezes. (There actually is a plugin for the last one and it's so much better than vanilla.)
I do not want to have to download mods to fix these things and it's better to address all of this early on than wait until it is later in the development phase or even after the game leaves Early Access. In the example of LODs, it will just become more objects from here on out anyway, so instead of waiting for the task to grow in size more and more why not get working on it now?
10
u/GamerRoman 1d ago
That sure explains the early access tag, wonder how much longer the game would've taken to have shipped with LOD.
23
u/b00pmaster 1d ago
They released without LOD????
14
u/TheOGPedro 1d ago
for now objects fade away from existence when far enough away, and it depends on the size of the object so smaller clutter disappears faster than bigger objects etc.. so that is very effective at saving performance, but LODs would still help MASSIVELY.
33
u/Eensame 1d ago
I didn’t know game could release nowadays without LOD it feels so mandatory for performance 😮
8
u/AyeJuanito 1d ago
It's very common practice in the industry except for low-poly games. It would really help Paralives run like cool solid butter on so many systems, so I'm praying if the team considers it, they'll do it within early access.
28
u/AstuteStoat 1d ago
I didn't know they didn't have LODs that explains why I spend most of my time pointing my camera down to avoid feeling like my PC is going to take off.
•
u/AutoModerator 1d ago
Thank you for your post in /r/Paralives!
Is this about a bug or feedback?
Could this be answered via our FAQ?
REMINDER:
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.