Skip to content Skip to sidebar Skip to footer

How To Make A Proper Server Tick?

I am trying to make a game server which updates after a certain period. import time last_time = time.time() tick = 1 time_since_last_update = 0 while True: new_time = time.time

Solution 1:

Insert a time.sleep(0.01) to wait 10 millis between each time poll otherwise your loop polls time continuously without releasing power to the cpu.

Edit: That is better, only waits once if needed. Should a huge CPU overload occur, the time to wait could be negative, and in that case 2 actions could be triggered at once. And targeted time is recomputed constantly to avoid float accumulation errors.

import time
start_time = time.time()
tick = 1.0  # 1 second

tick_count = 0

while True:
    new_time = time.time()
    tick_count += 1
    targeted_time = start_time + tick*tick_count

    time_to_wait = targeted_time - new_time

    if time_to_wait>0:
        time.sleep(time_to_wait)
    print("Magic happens,waited %f seconds" % time_to_wait)

Post a Comment for "How To Make A Proper Server Tick?"