Просмотр полной версии : [11882]Fix rare freeze in MaNGOS::NearUsedPosDo
subj
https://github.com/mangosR2/mangos/commit/d39954f7437d3566f448e640d1da47d84502ced4
фриз редкий и проявляется на большой нагрузке, возможно только с mmap. но возможен и на обычном мангосе (причина - кривые вычисления с float точностью, иногда дают angle порядка 10**30 вместо 0)
PS не пора еще лавочку закрывать? тускло как-то...
Не пора, год только начался.:)
Не пора, год только начался.:)
через месяц вспомним, или через полгодика?
PS я не злопамятный. просто злой, и память хорошая (с).
schmoozerd
24.01.2012, 00:51
With some changes in 11882. Thank you!
Except I miss something due to too much drinking, the only possible place for problems could have been i_angle, which I corrected to be normalized.
If you don't agree, please tell in which combinations you see a possible fail :)
your normaization method in NearUsedPosDo more correct then my, but i think, normalization in GetAngle() still needed for other purposes (atan2 may returns broken value in some cases).
PS to zergtmn - хоть его-то не обвиняйте в рекламе R2, ладно?
schmoozerd
24.01.2012, 13:41
according to http://www.cplusplus.com/reference/clibrary/cmath/atan2/
atan2 returns a value in -Pi..Pi, hence the check done currently in GetAngle must return a value in 0..2Pi
problem not in atan2, but in casting from long double to float. 0.0f may be interpreted as float MAX in some (very rare) cases.
vBulletin® v3.8.4, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot