저는 Libgdx로 작은 게임을 쓰고 있습니다.렌더링/동기화 스레드 동기화
모든 개체에 render()
을 계속 호출하는 [렌더링] 스레드와 모든 개체에 update(double delta)
을 계속 호출하는 업데이트 스레드가 있습니다.
업데이트 스레드가 빠르게 반복됩니다. 일부 종류의 동기화를 사용하여 업데이트 스레드가 약간의 휴식을 취해야합니까? 혜택이 있습니까?
업데이트
public void run() {
while(true){
nano = System.nanoTime();
long delta = nano - timestamp;
timestamp = nano;
accumulator+=(double)delta/BILION;
while(accumulator >= step){
update(step);
accumulator-=step;
}
long loc = (long) ((step -accumulator)*1000)+1;
try {
Thread.sleep(loc);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
나는 그것의 경우 문제를 잘 모릅니다,하지만 내 현재 업데이트는 2500-20000 FPS입니다. 따라서 업데이트 속도가 충분합니다.
"가장 사용자 친화적 인 업데이트 속도"는 무엇을 의미합니까? 내 업데이트는 최소 단계 이상으로 빠르게 실행됩니다. 주어진 델타로 woks를 업데이트하십시오, 그래서 괴물 속도는 동일 할 것입니까? – jellyfication