Page MenuHomeFeedback Tracker

Network syncing of fog decay has very low value precision
New, WishlistPublic

Description

As of now, it appears that fog decay syncing from server to client has a precision of 1/127 (8-bit); any fog decay value that does not match a multiple of 1/127 is rounded to the nearest value when being transferred to the client.

This is quite problematic when trying to achieve precise values below 0.1, especially since that <b>the visual effect of fog decay varies extremely greatly for values between 0 and 0.01</b>.

Here are some of the readings I took:

<pre>

server         client

0        0                   
0.0025   0                   
0.005    0.00787401 (1/127)  
0.0075   0.00787401 (1/127)  
0.01     0.00787401 (1/127)  
0.0125   0.015748 (2/127)    
0.015    0.015748 (2/127)    
0.0175   0.015748 (2/127)    
0.02     0.023622 (3/127)    
0.0225   0.023622 (3/127)    
0.025    0.023622 (3/127)    
0.0275   0.023622 (3/127)    
0.03     0.0314961 (4/127)

</pre>
Please make it so the fog decay is properly transmitted as 32-bit float over the network, not as a rounded 8-bit integer divided by 127 on the other side.
Thanks.

Details

Legacy ID
833597
Severity
None
Resolution
Open
Reproducibility
Always
Category
Engine

Event Timeline

AgentRev edited Steps To Reproduce. (Show Details)Jan 23 2015, 7:09 PM
AgentRev edited Additional Information. (Show Details)
AgentRev set Category to Engine.
AgentRev set Reproducibility to Always.
AgentRev set Severity to None.
AgentRev set Resolution to Open.
AgentRev set Legacy ID to 833597.May 7 2016, 8:09 PM

Probably to do with how much space is allocated in the NW packet

I mean, I already had my own weather syncing with pvars, but now that it's also done by the engine, this issue creates a bigger problem: my pvar applies the correct fog decay value, but the engine reverts it to the rounded value a couple seconds later, which causes an annoying "blinking" effect.

You can notice it in this video if you watch closely: http://www.youtube.com/watch?v=7XFuP2yIBzs&t=3m19s
(it alternates between 0 and 0.001)