
Timers suck.
Thanks! And apparently, GetTickCount() on Windows would be better than ftime (it's also monotonic), which we're using now if the HPC is unavailable or broken. Hrm. Docs say it typically has 10ms to 16ms accuracy, not 1ms, which sucks, but I suppose the same accuracy would be passed on to ftime anyway and we're smoothing the result out, assuming consistent rendering speed. All one can do, really.Jonathan wrote:On a Mac you could use mach_absolute_time.
No. That's for critical fixes only. The Mac and Linux basic timer code may be backported to the 0.2.8 branch, but they would hardly be useful; the good Linux function is indeed quite new and while my local manpage tells me about it, it doesn't actually exist yet. On Windows, GetTickCount doesn't exist on Win9x, which we're still supporting for 0.2.8 and won't drop it just for timer improvements affecting a tiny minority. And the sync code uses protobuf and exploits our protocol's internal redundant information culling, on 0.2.8 we'd have to manually do something on 0.2.8 and protocol additions there are very tricky. When we switched to protobuf on Trunk and built the backward compatibility layer, it was under the assumption the 0.2.8 protocol would be frozen. Of course, we can extend the protocol on 0.2.8 and pretend it always was that way and it'll work; we'll probably lose compatibility between new 0.2.8 and intermediate trunk versions in doing so.someone on PM, I should have known wrote:0.2.8.3.2?
I experience this with the latest 0.3.0 experimental release for Mac.Vitty wrote:Since trunk revision 1039 I'm experiencing this problem on linux, however it doesn't sort itself out over time. At the start of a fortress match, all the cycles are driving head on against the wall behind the enemy zone... the cycle's eventually disappear and the minimap updates every second or so of where everybody is, but the camera stays in the same position.