Length of Turn - Microseconds

    General discussion

  • As my creature's code gets more complex, I start to occasionally skip turns.  I tried to put in debug code to measure the time taken in various procedures so that I could optimize, unfortunately I can only get accuracy to the nearest 10 milliseconds.  The message I get back from the engine is typically something like "took more than 1760 microseconds too many times".  Consequently, I can't measure the time taken by any one thing until it is already about 6 times more than is allowed for the whole turn.

    Does anyone know how many times you can go over the turn limit before skipping a turn, and what the formula is for calculating how many turns would be skipped?

    On a similar note, at what point will a creature actually be destroyed for "thinking too long"... ie how many microseconds, or milliseconds?
    Saturday, June 28, 2003 4:35 AM

All replies

  • Can't answer your questions about how long is too long, but you should be able to get more precise timings than the nearest 10 milliseconds.  I'm not sure what you're using, but I've gotten good times using the Ticks member of TimeSpan.
    Saturday, June 28, 2003 2:38 PM
  • What do you mean exactly by "good times"?  Using Ticks, I can only resolve a difference of 10 milliseconds.  Check out the following code that I used to verify how precise I could get with Ticks...

    DateTime start = DateTime.Now;
    while(DateTime.Now == start){}
    TimeSpan diff = DateTime.Now-start;
    WriteTrace("tick diff:" + diff.Ticks);

    consistently results in...

    tick diff:100143-

    1 tick = 100 nanoseconds
    1 millisecond = 1000 microseconds = 1000000 nanoseconds
    100143 ticks = 10014300 nanoseconds = 10.0143 milliseconds
    Saturday, June 28, 2003 11:16 PM
  • I went back and looked at what I had done.  It appeared to be working since I was timing my code 100,000 times, then averaging the results.  (I didn't realize that the majority of the times were 0.0 seconds!)  Oh well, maybe you could take the same approach?  I was able to find some significant optimizations for my pathfinding (despite the inaccuracy in my timing).
    Monday, June 30, 2003 3:36 PM