u/Matt_Shah

▲ 1 r/Fedora

This is what i asked google AI and that is the answer but i don't want to shoot my system. I just want a temporal solution and after the shader compilation i want to delete that virtual RAM. My drive space is scarce at the moment.

Question to Gemini:

"how can i temporarily add 16 GB RAM as a swap file on fedora in the fashion how the author did according to his steps described in his articel here: https://steamdeckhq.com/news/industria-2-not-a-great-experience-on-steam-deck/ Please explain in more detail."

Answer from Gemini:

To add a 16 GB swap file on Fedora, create a 16 GB file, set permissions, and enable it using sudo dd if=/dev/zero of=/swapfile bs=1G count=16, sudo chmod 600 /swapfile, sudo mkswap /swapfile, and sudo swapon /swapfile. If using Btrfs, a non-COW folder must be created first to avoid filesystem errors, as described in Fedora swap configuration guides. Read the full analysis at Linuxize.  

---

By the way i have a Btrfs file system. So what would be the correct steps accordingly?Appreciate the help and Thank You!

u/Matt_Shah — 14 days ago

In Short: A big part of performance issues come from the robots

In Detail: One big feature TLC relies upon is physics and animation which seems to be a culprit as many others also pointed out. Obviously the devs made some progress and improved it a lot since my first test here.

https://www.reddit.com/r/TheLastCaretaker/comments/1qlomtu/there_is_something_in_the_water_performance/

For example they seem to have reduced the radius in which physics gets updated and collision checks are being made and depending on whether the player looks into that direction or not. I don't know if the devs use their own physics engine or Unreal Engine's built-in one.

If for the latter then the epic devs promised a lot of updates and even claimed to have finally found UE's bottleneck which led to certain traditional stutters namely due to single threaded animation evaluation which they changed to parallel and by running these outside of the game thread.

"Animation evaluation are now running in parallel off the game thread which was our bottleneck." https://youtu.be/R61NH-j5NxY?si=knBNt2H7BaVKyvIi&t=284

However in my testings i found that physics and animation still put a heavy burden upon the performance in TLC. In my recorded scene you can see clearly how the FPS decrease even more than half as soon as i approach the collected robots. Even when i just look at that place the FPS drop.

But why is it the robots? Well it's not just the robots. It's actually every movable object and subject in the world. All these need so called assigned "actors" in the unreal engine editor. In this way the engine actually knows which objects and subjects can be moved, deformed or where collision detection has to be checked, sometimes even constantly which tanks more performance. The more actors an object has the heavier the physics calculation becomes. And if those are too much then the whole graphics calculation has to wait for the physics calculation to finish and this results in visual FPS slowdowns.

For instance, if you pause the game you can observe how the FPS increase. This is not because the graphics engine stopped. No in fact it is still running as you can see from flickering reflections or lights when you look closely at the background. The FPS increase because the physics and animation stops.

Back to the robots: I assume that these robots and other complex objects in the game consist of many actors due to their joints in the neck, arms, hands, hips, legs and whatnot. But interestingly also small objects like scrap or resources can strain the performance if they are near you in large amounts. In some post i saw how a player tried to collect all robots in the lazarus complex and there were a lot not to mention all the other objects and subjects in that big building. This would explain something. But robots are only one factor.

It seems that the game keeps stuff in the memory and only kicks them out when you load different saves again and again or run the benchmark in between. But this is another story.

In the past also many cables on my ship drained FPS probably due to the many actors in the joints a cable have and due to permanent collision checks to deform the cables if needed. The devs seem to have improved these as now more cables can be placed until a slowdown appears. Similarly a kraken has also many joints and bendable limbs.

By the way the water itself may also use a lot of actors depending on its implementation.

The TLC devs seem to have moved the physics calculation in big parts from the CPU to the GPU which is superior in doing these. In this way you also eliminate possible bottlenecks in the PCIe bus where data has to be exchanged permanently between the CPU and the GPU. This would also explain why some players have different results in performance as not everybody uses the same PCIe Speed nor does everybody have a big fat 3D Cache in the CPU to assist consistent PCIe data speed. In future i really would like to see Epic to move any animation and physics calculation from the CPU to the GPU entirely or as much as possible to finally get this antique bottle neck out of the way. I also would like to see "work graphs" and "mesh nodes" in this regard.

Another observation is when pressing the tab key. This invokes a menu where a robot, your avatar, appears on the right side. The FPS drops here as well. But i am not quite sure yet, why this happens. Maybe the robot has too much details or something or other certain objects put an additional strain on the visuals.

In my next test i want to record a similar scene but with resources and scrap. In the meantime i would like to know your own tests and results. And i hope that these can serve as clues for the TLC devs to improve the performance further. Thank You!

u/Matt_Shah — 18 days ago