比较好的游戏循环

F = Performance counter frequency
O = Old time
L = Logic fps step
T = Time
D = Frame delta
U = Logic update counter
-------------------------------------------------------------
F = QueryPerformanceFrequency
O = QueryPerformanceCounter
L = 1.0 / 30
while True {
  T = QueryPerformanceCounter
  D = ( T - O ) / F
  static U = 0
  U += D
  while ( U >= L ) {
    U -= L
    ProcessLogic(L)
  }
  DrawFrame(D)
  O = T
}

posted on 2009-11-23 21:01 维宁 阅读(11) 评论(0) 编辑 收藏