2.2.8. ceGnCtrlBoost_Get¶
SYNOPSIS¶
VT_I4 ceGnCtrlBoost_Get (
VT_PI4 BoostLevel
VT_PI4 BoostMode
)
DESCRIPTION¶
윈도우 기반 응용 프로그램에서 프로세스는 시스템의 CPU 실행 시간을 라운드 로빈(Round Robin) 방식으로 나누어 실행하게 됩니다. ceGnCtrlBoost_Set 함수는 이 시간에서 우선 순위를 설정하여, 좀 더 많은 CPU 의 시간을 필요로 하고, 빠른 응답 성을 보이기 위한 라이브러리 기능입니다.
CE_ABOVE_NORMAL_PRIORITY_CLASS
CE_BELOW_NORMAL_PRIORITY_CLASS
CE_HIGH_PRIORITY_CLASS[Default]
CE_IDLE_PRIORITY_CLASS
CE_NORMAL_PRIORITY_CLASS
CE_PROCESS_MODE_BACKGROUND_BEGIN
CE_PROCESS_MODE_BACKGROUND_END
CE_REALTIME_PRIORITY_CLASS
위 우선 순위는 시스템의 기반 우선 순위를 지칭합니다. 일반적인 시스템 프로세스가 가질 수 있는 우선 순위를 LEVEL 로 지정할 수 있습니다. 시스템은 프로세스의 반응 성을 높이면서도 다른 프로세스의 실행 시간을 지나치게 뺏지 않도록 가장 합리적이고 효율적인 방법으로 프로세스의 우선 순위를 높이거나 낮추는데 이를 우선 순위 부스트 (Priority Boost)라고 합니다. 프로세스 우선 순위를 CE_REALTIME_PRIORITY_CLASS LEVEL 로 지정하면 고속의 디지털 입·출력이나, 실시간 성이 요구되는 동작에서 다른 윈도우 프로세스의 우선 순위에 영향을 받지 않을 수 있게 되며, CPU 의 시간을 독점할 수 있게 됩니다.
다만, 이러한 설정은 비전(Vision) 시스템이나 시스템 프로세스의 고속 응답성이 요구되는 다른 응용 프로그램을 동시에 실행시키게 될 경우 전체 시스템에서 심각한 성능 저하를 가져올 수 있으므로 상황에 맞는 프로세스 우선 순위를 설정하여야 합니다. 사용자 응용 프로그램의 프로세스 우선 순위는 다음과 같이 CE_NORMAL_PRIORITY_CLASS 이며, ceSDK 서비스 프로세스는 동작의 효율성과 빠른 응답성을 위해 CE_HIGH_PRIORITY_CLASS 입니다. 이 우선 순위는 본 API 호출을 통해 제어할 수 있으며, 동작에 이상이 없는 한 기본 모드를 유지를 권장합니다
PARAMETER¶
BoostLevel : 프로세스 우선순위를 설정 혹은 설정되어 있는 프로세스 우선순위를 반환합니다. BoostLevel 의 우선 순위는 다음과 같습니다.
BoostMode : 이 매개변수를 통하여 프로세스 우선순위를 적용 할 대상을 반환합니다. BoostMode 의 의미는 다음과 같습니다.
Value |
Meaning |
---|---|
0 (CE_PROCESS_ONLY_BOOST) |
사용자 응용 프로그램의 프로세스 우선 순위를 설정. |
1 (CE_SERVICE_ONLY_BOOST) |
서비스 프로세스를 대상으로 우선 순위를 설정 |
2 (CE_ALL_BOOST) |
사용자 응용 프로그램과 서비스 프로세스를 대상으로 우선 순위를 설정. |
RETURN VALUE¶
Value |
Meaning |
---|---|
음수 |
수행 실패. 자세한 나용은 ‘에러 처리’ 편을 참고합니다. |
0 (ceERR_NONE) |
수행 성공 |