View Issue Details

IDProjectCategoryView StatusLast Update
0005854Multi Theft Auto : San AndreasGeneralpublic2013-12-19 10:12
Reporterccw Assigned Toccw  
Status resolvedResolutionfixed 
Product Version1.0.4 
Target Version1.3.5Fixed in Version1.3.5 
Summary0005854: Client runs with reduced mathematical precision compared to the server.

The server runs with a floating-point precision of 56-bits and the client runs with a floating-point precision of 24-bits. Therefore floating-point operations will be performed with greater accuracy on the server when compared to the client.

Additional Information

It seems DirectX and possibly GTA quite like it that way, and forcing the client to 56-bits could produce unpredictable results, and will probably decrease client performance.

It might be possible to switch into 56-bits during Lua execution only, but considering the network layer forces 24-bit floats for communications, would it be worth it?

Another solution is to document this 'feature', with detail of the side effects and work-a-rounds and what not.

TagsNo tags attached.


related to 0004298 resolvedccw Multi Theft Auto : San Andreas triggerClientEvent() doesn't pass large numbers or floats accurately 
parent of 0006829 closed Source patches Floating-point double precision fix 
has duplicate 0007694 closed New issues Client can't operate with numbers bigger than 16777216 
has duplicate 0007502 closed New issues Precision loss (or something) when using rotation from processLineOfSight in createObject 
related to 0006802 closed New issues Sync Problem with setElementData 



2011-01-24 17:41

reporter   ~~0012721

probably worth the extra effort


2012-01-26 14:07

updater   ~~0015825

IMO double-precision calculations should not be considered a bottleneck, like you should not argument that it causes huge FPS loss. MTA requires more precise calculations.

As for GTA, let it run in single-precision for now, but then again what about callbacks? multiplayer_sa is deeply nested with 'em.

Increasing accuracy would actually help; remember that issue where things go weird if too far from main-land? :)


2012-02-17 09:07

reporter   ~~0016095

I just wonder what the issue about that is. If you force the client to use doubles, 32 bit computers would have the disadvantage.
Normally it doesn't matter due to pipeing, but if the hardware is a bit old or a bit weird using doubles definitely decreases the FPS.


2013-12-18 12:19

updater   ~~0019802

Fixed in:

Issue History

Date Modified Username Field Change