Timing Pitfalls and Solutions: new developments

Started by
13 comments, last by _Sigma 16 years, 10 months ago
*sigh*
Quote:The resolution of 2000/XP's standard tick can be increased (err, decreased?) from 100hz (10ms) to 1000hz (1ms)

Yes. This mentioned on page 4, along with its steep price.

Quote:Besides requiring a different code path for 98/ME, are there any issues that I am unaware of?
Not sure why a different code path would be needed, but page 5 points out one serious issue with clock-interrupt-based timekeeping.

Quote:Anyways.. this doesnt truely seem to be a game-related problem since games dont seem to have issues with it (aside from hotfixing dual AMD's with its otherwise backwards moving clock) ..

Requiring all your users to install the hotfix would be a partial solution.. for that specific problem. Unfortunately, there are others as well.
And broad statements involving "games" are very dangerous, because all it takes is one counterexample (the abovementioned story on page 5).

Quote:.. this does seem to be an issue for serious profiling, but the monte-carlo method has already been mentioned and its superior in so many ways that there really isnt a point discussing it (both the AMD and Intel profilers use it extensively)

Do not be so quick to dismiss real-time hierarchical profiling. I've implemented both methods and monte-carlo is no help at spotting changes in elapsed time. Example: which part of the renderer is slower when moving over unit-heavy portions of the map? (this is very valuable insight)

That, and the sweeping generalizations aside: You didn't bother to read the text before commenting, did you?
E8 17 00 42 CE DC D2 DC E4 EA C4 40 CA DA C2 D8 CC 40 CA D0 E8 40E0 CA CA 96 5B B0 16 50 D7 D4 02 B2 02 86 E2 CD 21 58 48 79 F2 C3
Advertisement
Source code and a test app [2.7 MB] are now up.
E8 17 00 42 CE DC D2 DC E4 EA C4 40 CA DA C2 D8 CC 40 CA D0 E8 40E0 CA CA 96 5B B0 16 50 D7 D4 02 B2 02 86 E2 CD 21 58 48 79 F2 C3
Thanks for the release. ++ to you kind sir. I've not looked it over but this seems quite interesting so I saved it for a rainy day... We have a few of those in Portland here ;-)

"Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety." --Benjamin Franklin

Glad to; I hope it proves useful.
The distribution contains some 22 KLOC in total, most of which are modules for debugging, memory allocation/tracking and CPU/OS specific facilities. I carry them over from project to project and would hate to write in C++ without them :)
E8 17 00 42 CE DC D2 DC E4 EA C4 40 CA DA C2 D8 CC 40 CA D0 E8 40E0 CA CA 96 5B B0 16 50 D7 D4 02 B2 02 86 E2 CD 21 58 48 79 F2 C3
Seems quite usefull, was about to start learning about the high performance timers myself!

This topic is closed to new replies.

Advertisement