WIN32 環境時鐘程式設計要訣 (轉)

worldblog發表於2007-12-02
WIN32 環境時鐘程式設計要訣 (轉)[@more@]
環境時鐘要訣

● 樊一鵬(FreeMind)

  在遊戲程式設計中,獲得精確的時間控制是非常必要的一個工作。

  在悠遠的 DOS 時代,所有的員都習慣於靠接管和修改時間中斷來做這個工作。

  到了 WIN32 時代,這種不合時宜的方法已經完全被遺棄了,現在我們另有幾種途徑來完成這個工作。

  第一式:GetTickCount()

   NT 3.5 及更高版本,精度為 10ms
   3.1 及更高版本,精度為 16ms
  Windows 95 及更高版本,精度為 55ms
  由此可見,此式只適用於低精度應用場合

  第二式:timeGetTime()

  精度約1ms,此式適用於大多數應用場合

  第三式:High-Resolution Timer

  QueryPerformanceCounter() 配合 QueryPerformanceFrequency(),此式適用於高精度應用場合

  實際上,第三式在大多數情況下都是源自 RDTSC (read time stamp counter) 指令來實現的,因此,直接基於 RDTSC 來完成所有功能才真正應該是攻無不克、戰無不勝,天下無敵……


注:此處只談要訣,不談具體程式設計,招式詳解請自行參閱 MSDNINTEL 的技術手冊

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-987368/,如需轉載,請註明出處,否則將追究法律責任。

相關文章