GEMS 3권 게임 이벤트 일정관리(스케줄러)

GEMS 2016. 2. 4. 19:48

스케줄러의 개념들

기본적으로 스케줄러는 하나의 작업관리자, 하나의 이벤트 관리자, 하자의 클럭으로 구성된다.

이러한 구성들을 통해서 시간 기반 또는 프레임 기반으로 이벤트들을 발생시키고 이벤트 처리기들을 실행시킨다.


1. 작업 관리자

작업들의 등록 및 조직화를 처리한다. 각 작업은 관리자가 호추할 콜백 함수를 포함하는 표준적인 인터페이스를 가진다.

작업 관리자는 작업들의 목록을 유지하며, 일정 정보(시작 시간, 수행 빈도, 기간, 우선 순위, 그 외에 필요한 속성들)도 관리한다.

또한 사용자 데이터 포인터나 성능 통게 자료도 담는다.


2. 이벤트 관리자

스케줄러의 심장부로서, 작업 관리자 안의 각 작업에는 그 작업에 필요한 하나 혹은 그 이상의 이벤트 들이 정의된다. 이벤트는 작업이 실행될 시간 상의 한 순간에 해당한다.


3. 실제 시간 대 가상 시간

실시간 스케줄러의 개념은 상당히 간단하다. 루프안에서 이벤트 관리자가 계속 실행되면서 실시간 클럭을 주시하다가 대상 시간에 도달하면 이벤트를 발생시키는 것뿐이다.


스케줄러는 시간을 조작함으로써 주어진 하나의 시간 또는 시간의 경과를 실제 시간과는 독립적으로 흉내낼 수 있다.

(가상 시간을 이용한 스케줄러는 작업들을 임의의 시간 단위 또는 속도로 수행할 수 있다는 장점을 가지고 있다.)

* 가상시간을 이용한 스케줄러는 작업들을 임의의 시간 단위 또는 속도로 수행할 수 있다는 장점이 있다.


가상시간 스케줄러는 시간을 프레임들로 분할한다.

작업들은 프레임들 사이에서 가상시간을 기준으로 일괄 수행되며, 프레임이 렌더링될 때 다시 실제 시간과 동기화된다.

 

'GEMS' 카테고리의 다른 글

GEMS 3권 객체 조합식 프레임워크 분석 (2)  (0) 2016.02.05
GEMS 3권 객체 조합식 게임 프레임 워크 (1)  (0) 2016.02.05
GEMS 2권 스택와인딩(stack winding)  (0) 2016.02.04
GEMS 2권(6)  (0) 2016.02.04
GEMS 2권 (5)  (0) 2016.02.03
posted by 알쿠미