View Issue Details

IDProjectCategoryView StatusLast Update
0005168Multi Theft Auto : San AndreasGeneralpublic2010-05-11 13:49
Reporterryden Assigned Toccw  
Status resolvedResolutionfixed 
Product Version1.0.3 
Target Version1.0.4Fixed in Version1.0.4 
Summary0005168: Optimize colshapes

Currently, the client is checking for every frame the collisions of all the world elements that moved with all the existing colshapes (colshapes themself, markers, pickups...). This leads to extreme framedrops in case of having many colshapes and many entities in the world. They should be streamable client-side, because you don't really need to know that someone entered a colshape 100km far from you.

Server-side, these should be even removed, and let the responsability of reporting collisions to the clients syncing the moving element. Players report their own collisions, and vehicle drivers/syncers report vehicle collisions. If not, at least run it threaded.

TagsNo tags attached.



2010-01-09 02:21

administrator   ~~0010954

Using some sort of space tree would also reduce the number of checks required.


2010-01-09 02:27

manager   ~~0010957

Last edited: 2010-01-09 02:50

If you are referring to BSP trees maybe it's not a good idea, as if any colshape changes position it will be expensive to rebuild.


2010-01-09 02:49

administrator   ~~0010958

It shouldn't be hard to move an object within a BSP tree. Octrees should be more than good enough and easier to implement - as I've suggested for the last 3 years or so!


2010-01-13 02:09

administrator   ~~0010965

I disagree entirely with removing server side colshapes. There's no reason a well optimize system can't be written that can cope well with up to a few thousand reasonably spaced out colshapes. Things should be possible in server scripts unless there's a Very Good Reason for them not to be. Lazyness is not a Very Good Reason.


2010-01-13 04:10

administrator   ~~0010967

I'm also against removing serverside colshapes. It's an essential part of security too imho.


2010-05-11 13:49

administrator   ~~0011452

Fixed in and

Issue History

Date Modified Username Field Change