#wheely bad bug: wheels are the biggest source of FPS drain. source: extensive testing of the physics

75 messages · Page 1 of 1 (latest)

jovial jungle
#

for some reason, when there are too many wheels in the game world, no matter how far away the wheels are, and no matter what view distance is set to, FPS drops wheelly wheelly badly!

like down to 10fps and below.

other physics entities don't drop FPS nearly as much as wheels do. too many spheres does eventually drop fps, but only while simulating (like when you stick many of them in a giant blender...a1_giggle).

we were able to have tons of houses (made of lots of bricks), giant pixel art and entire islands be physics entities and float around the world without any loss in fps. it's only wheels that tanked FPS so much..

putting lots of big bricks in the giant blender also didn't drop FPS much. doing the same with tons of microbricks did, though. but that's not exactly a common scenario..

this is the reason i had to put very strict restrictions on cars in the Pinkcadia server.. cars are hard to find within a huge world once they are abandoned, and no matter how far away the car is, it impacts performance. the more stray cars, the more FPS goes down.

please fix this. people clearly love cars in brickadia (they cant get enough of spawning them... HELP), but it ruins the world's performance over time as more and more cars pile up across the game world!

teal whale
#

the fps loss is strange too, because even if nothing is rendering (low render distance, and going very far away), fps is still very low

jovial jungle
#

and the wheels dont affect the server much, its strictly a mass fps lowering, which suggests its client-side

drowsy epoch
#

yeah wheels arent culled at all which is likely part of this issue

#

no matter the distance or objects in the way, wheels arent culled

foggy mason
#

@ devs

#

(im not brave enough to actually do that)

jovial jungle
#

fine...

foggy mason
#

i was kidding

#

don't dviperPanic

jovial jungle
#

@rare trellis we already talked about it ingame but please consider making this a priority? this is killing freebuilds over time

foggy mason
honest heart
#

Based

rare trellis
#

we may be able to optimize it for EA2

#

any entity that is floating in water cannot go to sleep

jovial jungle
rare trellis
#

so you are paying the cost of it moving every frame

#

i am also looking to add better admin tools for finding stuff

jovial jungle
#

you said wheels are unreal engine actors and never stop simulating even when theyre not in water.. right?

rare trellis
#

no the physics goes to sleep outside of water

#

actors are slow to render because they all draw with an individual draw call and zeb could probably explain other sources of slowness

#

but something that is not moving generally escapes most of the slow paths

jovial jungle
rare trellis
#

because they're in water

jovial jungle
#

and the wheels were not in water..

rare trellis
#

unsure then

jovial jungle
#

this is a road on top of water.. not below it

rare trellis
#

are these moving or not

jovial jungle
#

no

#

someone spawned them in and they just tanked fps as long as they were present

rare trellis
#

you will have to pay a replication cost for all of those every time someone joins, and rendering them will lag a lot too

#

but when you are not looking at them they get culled

#

so its not a rendering cost

jovial jungle
#

@crimson arch can tell you more, shes the one who spawned them

rare trellis
#

so i would have to profile the build to find out what it is

#

prefabs v2 is higher priority than making 1000 wheels faster rn

jovial jungle
rare trellis
#

entities definitely need optimization its just we have a lot of other stuff to do

jovial jungle
#

just.. somewhere high on the list, as it's a ticking timebomb in freebuilds (not just mine) where the more wheels are present the worse it performs

rare trellis
#

if you are having issues for now i would suggest lowering limits

jovial jungle
foggy mason
#

If i had to hazard a guess the wheels existing seemed to cause the lag, rather than they're stated rest/unrest, as even if they were not in view of the player, or even remotely near the player, the lag caused by them was very apparent after around 2K wheels.

#

the lag/slowdowns only ceased once the wheels were removed, and I didn't notice any difference in lag from when they were first spawned, to a few minutes later when they would've theoretically been rested

jovial jungle
foggy mason
#

there was some lag caused by wheel joints too, but we had to push that much further to get any noticeable lag (4K or more)

#

I wonder if it might be something as simple as the wheels are always calculating their collision or maybe calculating the friction they are supposed to experience

#

another part could be the lack of LODs' but i imagine that really is only a problem on hyper view distance, and wouldn't explain the lag everywhere on the server

jovial jungle
rare trellis
#

they need an optimization pass

#

it will be looked into

drowsy epoch
#

I'd also like to mention that wheels do not respect render distance. They are rendered no matter how far away they are
edit: seems to be fixed now

jovial jungle
forest oasis
forest oasis
#

The best way to test lag similar to that in pinkadia would be like a test i ran last week, attaching wheels to wheel joints and findiing when they start to lag

jovial jungle
#

i'll try some wheel joints

forest oasis
# jovial jungle

The lag that you would experience here is not similar to pinkadia's lag at all

jovial jungle
#

i cant run this on pinkadia yet because the code has a flaw that corrupts the world if any colors have been set anywhere

#

trying to fix that

forest oasis
jovial jungle
forest oasis
#

to see difference

jovial jungle
#

what happened when you ran it frozen?

forest oasis
#

when frozen the wheels will function similar to how they would in my test with sheer numbers, because when the wheel (And the vehical if attached) are frozen then physics are not calculated on them. However, this only decreases lag and will not fully remove it. Given your threshold will be much more, about 40-50k before people notice a difference. However unforzeen lag will be very noticable at a number as low as 2-4k.

#

This goes for everything with physics, slider / bearing / motors and so on

forest oasis
# jovial jungle what happened when you ran it frozen?

the optimal range, especially with wheel joints attached to vehicles is about 2k.

Also another thing, Although locked and without phys calculations, If you have alot (more than 1000) in a 5 chunk range you will loose a lot of the freezing benefits. I am unsure why this is and my guess is that it is an issue with the game.

#

and to be sure i did test this with bearings and normal blocks aswell, same result

#

i ran this test up untill about 33k or so unforzen (after i tested frozen) and it crashes at over 30k, also corrupted the file so i cant open it again.

jovial jungle
#

well i could always set wheel joints to disabled....

forest oasis
#

unless people use clever bearings

#

and logik