BRPVP 69 Posted November 16, 2019 The player have 60 fps, and sunddenly it falls to 10. He was able to save profiling data when on 10 fps. This is the profiling TXT file https://pastebin.com/edCxbhJd I loaded this TXT in my profiling Arma 3 to check it, and here a shot of the PhysX part: Seens something is wrong with PhysX. Can anyone help? Thanks. Share this post Link to post Share on other sites
.kju 3245 Posted November 16, 2019 why wrong? PX is complex computations - how many vehicles and objects (non terrain, non simple) did you have? 1 Share this post Link to post Share on other sites
BRPVP 69 Posted November 16, 2019 Lots of static objects, all arround the map, but most are simple. Also many vehicles, all arround the map, not only in one place. The problem is the time it take to compute those px things, it's too much. All is ok and sunddenly fps fall to 10 or 5. If player relogs then fps back to normal again. Happens with just some players. I asked hin to update his PhysX, but he is already using last version. He is trying now to put PhysX calculation on CPU to see what happens. Some players have that, it's a Chinese server. I'm about to receive some more profiling datas. Share this post Link to post Share on other sites
BRPVP 69 Posted November 16, 2019 The fps is 103 in the image because it's my computer, i got the TXT file and loaded it in my computer with "paste all". The real player was having 10 fps. Share this post Link to post Share on other sites
.kju 3245 Posted November 17, 2019 if you turn objects into simple objects, or disable their simulation, you should see fps improvements 1 Share this post Link to post Share on other sites
BRPVP 69 Posted November 18, 2019 A player got this when the problem happened: * Thread Main Thread total; 0.03745; 133.16768;"" evwfGet; 0.03866; 0.00200;"" winMs; 0.04814; 0.12449;"" dlcSim; 0.26805; 0.00011;"" input; 0.29877; 0.01067;"" wSimu; 0.31291; 132.88429;"" memWD; 0.31341; 0.00401;"" evGet; 0.34330; 0.00001;"" memFrA; 0.36319; 0.00033;"" vmVer; 0.36588; 0.00429;"" memFr; 0.40148; 0.00037;"" evGet; 0.41883; 0.00001;"" MFDManager; 0.42401; 0.99357;"" wDisp; 1.41796; 0.02677;"" gbFrm; 1.44534; 0.01263;"" rtSim; 1.46001; 3.49398;"" netwT; 4.96128; 1.90326;"" wSimA; 6.88166; 83.20762;"" PhsXF; 6.88183; 56.98078;"" EpeFR; 6.88202; 56.98037;"" epeCR; 63.85886; 0.00301;"" EpeCR; 63.86117; 0.00011;"" You can see wSimu/wSimA/PhsXF/EpeFR is lasting for 56.9 ms. What is this EpeFR? I'm not sure if i made me understand. Fps is 60, and suddenly it falls to 5 or 10 and stay like that forever until the player relog. Share this post Link to post Share on other sites
BRPVP 69 Posted November 19, 2019 On 11/17/2019 at 12:16 PM, .kju said: if you turn objects into simple objects, or disable their simulation, you should see fps improvements I already do that, fps is good on server and clients: All objects that don't require interaction (wall, floor,ceil, most of it) are created as simple objects. All vehicles that don't have a player interacting have enableSimulationGlobal set to false server side. 1 Share this post Link to post Share on other sites
Dedmen 2716 Posted November 20, 2019 On 11/18/2019 at 7:48 PM, BRPVP said: What is this EpeFR? physics, checking which objects contact/penetrate which other objects.. Arma is doing physx calculation in seperate thread, that point that takes 50+ms there is "wait for physx calculation thread to be done with its work, and get the results" so for some reason, that takes a veeery long time. I assume you have some blob of physx objects flapping around somewhere on your map. I had a similar bug once, was about 200 dead ragdolling units at 0,0,0 coords flopping around in eachother in a huge blob. After deleting them fps went from ~10 to 50. in the profiling output you should be able to see that instantly if you look at it in the gui and see the long "px3" scope running in a seperate thread. The scopes in that thread may give you a better idea about whats causing the issue. Actually I wrote this before I scrolled up, you can already see it in your screenshot above. Dig down into the px3 scopes and see if it has any diagnostic info about what is taking so long. Quote DynB 2160 dynamic bodies maybe? 2160 sounds like alot. What is inside that dark blue px3sim scope from your screenshot? On 11/16/2019 at 3:20 PM, BRPVP said: I asked hin to update his PhysX, but he is already using last version. He is trying now to put PhysX calculation on CPU to see what happens. won't make any difference, Arma is using its own physx version, and it never does physx calculation on gpu, so moving to cpu does nothing as its already on cpu. Share this post Link to post Share on other sites
BRPVP 69 Posted November 20, 2019 5 hours ago, Dedmen said: I had a similar bug once, was about 200 dead ragdolling units at 0,0,0 coords flopping around in eachother in a huge blob. After deleting them fps went from ~10 to 50. I will try to use allDead command to detect that. 5 hours ago, Dedmen said: dynamic bodies maybe? 2160 sounds like alot. What is inside that dark blue px3sim scope from your screenshot? Share this post Link to post Share on other sites
Dedmen 2716 Posted November 20, 2019 14 minutes ago, BRPVP said: What is inside that dark blue px3sim scope from your screenshot? Aw thats.. disappointing. I hoped for more data 😕 I don't know what DynB and the others mean, probably won't have time this week to find out. Maybe they hold the answer as to why its so slow. Share this post Link to post Share on other sites
BRPVP 69 Posted November 20, 2019 Oh, sad. No problem, thanks for your help. Just one more shot, this px3sim have only one memAI inside: Share this post Link to post Share on other sites
BRPVP 69 Posted December 15, 2019 On 11/20/2019 at 8:09 AM, Dedmen said: I had a similar bug once, was about 200 dead ragdolling units at 0,0,0 coords flopping around in eachother in a huge blob. After deleting them fps went from ~10 to 50. Dedmen, What created this dead ragdolls on [0,0,0]? Was something you did? Can i use this code to try to solve the problem? And it is [0,0,0] ASL, AGL or ATL? { if (!alive _x) then { deleteVehicle _x; }; } forEach ([0,0,0] nearOBjects ["CaManBase",500]); Or { if (!alive _x) then { deleteVehicle _x; }; } forEach (ASLToAGL [0,0,0] nearOBjects ["CaManBase",500]); Thanks! Share this post Link to post Share on other sites
Dedmen 2716 Posted December 15, 2019 2 hours ago, BRPVP said: What created this dead ragdolls on [0,0,0]? no idea. I just deleted them. I saw them wobbling there in zeus, not sure what the real height was. Not sure if they are CAManBase 1 Share this post Link to post Share on other sites
BRPVP 69 Posted December 16, 2019 On 12/15/2019 at 8:44 AM, Dedmen said: no idea. I just deleted them. I saw them wobbling there in zeus, not sure what the real height was. Not sure if they are CAManBase How you deleted then? Share this post Link to post Share on other sites
Dedmen 2716 Posted December 18, 2019 On 12/16/2019 at 7:16 PM, BRPVP said: How you deleted then? Zeus I think. Or maybe just some script with deleteVehicle, not sure anymore that was years ago. 1 Share this post Link to post Share on other sites