일정 기간 후에 업데이트되는 게임 서버를 만들려고합니다.파이썬으로 올바른 서버 틱을 만드는 방법은 무엇입니까?
import time
last_time = time.time()
tick = 1
time_since_last_update = 0
while True:
new_time = time.time()
dt = new_time - last_time
time_since_last_update += dt
last_time = new_time
if time_since_last_update > tick:
print("Magic happens")
time_since_last_update = 0
이 작업을 수행 할 때 파이썬은 코어 중 하나에서 100 % 컴퓨팅 성능을 소비합니다. 나는 이것이 왜 일어나는 지, 가능한 경우 이것을 고치는 법을 정말로 이해하지 못한다.
제가 이해하는 것은 1 초마다 인쇄하고 싶다는 것입니다. – harshil9968
이것은 단지 하나의 스텁 일뿐입니다. 내 생각은'time.sleep (1)'을하지 않고 매초마다 업데이트를하는 것이다. – Montreal
그렇게하지 않으면이 루프는 100 % 활용도에서 실행되고, 1에 도달 할 때까지 작은 값으로 증가한다. 그 핵심이 너무 열심히하게, 제발! 공정하지 않아. – harshil9968