After a long process of profiling, I have found a major issue with the Default Movement Component & Linux Dedicated Servers. This issue does not appear on Windows Servers & this issue did not exist on 4.16.2.
This seems related to the “Char FindFloor” function, it seems to be looping in a very strange way, causing the server’s CPU to spike & in some cases stalls the server from processing anything (Picture 1). There is also some hitches to do with the MoveComponent function (Picture 2).
This occurs when I jump on top of objects inside my map.
You will unfortunately need to change source files and rebuild PhysX to fix this. This is not too hard but it can be time consuming.
First of all, you will need to download all the sources from github (you may already have that). Then, find all Linux CMakeLists.txt under Engine/ThirdParty/PhysX (there are three of importance:
Then, open VisualStudio solution for the engine, rebuild Programs\Automation directory (right click->Rebuild), rebuild AutomationTool and then run it like this
Thank you for your prompt reply & clear instructions, I appreciate it.
I had to remove [RequireP4] from BuildPhysX.Automation.cs in order for it to start compiling. I also added BuildPhysX to the command, and then NvCloth was missing so I added that also.
Thank you - I’ll edit my post to correct it. Sorry, I was copying arguments verbatim from my script and missed the command - I’m glad you were able to figure it out!
Is this still required as of 4.19.2? I have noticed some severe performance issues related to the CPU on my linux dedicated servers as opposed to my windows servers. Linux will consume over 250% CPU while the windows server will never go past 25%.
No, this is not required for 4.19.2. The reason for CPU consumption is likely different. Please try capturing the stats and/or using perf tool to determine where the time is being spent.
I checked my source code, for the -ffast-math in the CMakeLists.txt files. It’s still in those files. Is this intended? This issue is definitely the same issue from what I can tell.