View Issue Details

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

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.

Activities

ccw

2010-01-09 02:21

administrator   ~~0010954

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

ryden

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.

eAi

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!

eAi

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.

Talidan

2010-01-13 04:10

administrator   ~~0010967

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

ccw

2010-05-11 13:49

administrator   ~~0011452

Fixed in http://code.google.com/p/mtasa-blue/source/detail?r=1595 and http://code.google.com/p/mtasa-blue/source/detail?r=1605

Issue History

Date Modified Username Field Change