display_set_timing_method 함수 설명
display_set_timing_method
함수는 게임 렌더링에 사용할 타이밍 방법을 설정하는 기능입니다. 이 방법은 다음과 같은 상수 중 하나일 수 있습니다:
- vsync: 이 방법은 타겟 플랫폼의 수직 동기화 지원을 사용하여 게임의 렌더링 타이밍 계산을 위한 기준점을 제공합니다.
- sleep margin: 이 방법은 각 프레임이 올바른 시간(예: 1/30초 또는 1/60초) 동안 지속되도록 대기하거나 잠자는 방식으로 작동합니다.
일반적으로 기본 vsync 타이밍 방법이 가장 부드러운 결과를 제공합니다. 그러나 vsync 방법을 사용할 때는 sleep margin 값이 여전히 중요하며, 이 방법을 사용할 때는 기본값을 유지하는 것이 좋습니다.
모든 플랫폼에서 기본적으로 PS4, Ubuntu 및 HTML5를 제외하고는 GameMaker가 vsync 타이밍 방법을 사용합니다. 지원되지 않는 플랫폼에서는 sleep margin 타이밍만 사용할 수 있습니다.
특정 Android 기기는 특정 프레임 속도를 사용합니다. 이러한 기기에서 실행할 때는 시스템 타이밍 방법을 사용하는 것이 좋습니다. 이 방법은 GameMaker의 모든 대기 및 게임 속도 제어를 제거하고 게임 속도를 시스템에 의해 설정할 수 있게 합니다.
sleep margin을 설정하려면 display_set_sleep_margin
함수를 사용하고, 현재 사용 중인 타이밍 방법을 확인하려면 display_get_timing_method
함수를 사용할 수 있습니다.
문법
display_set_timing_method(method);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
method | Display Timing Method Constant | 사용할 타이밍 방법 (위의 상수 목록 참조) |
반환 값
- N/A
예제
if (display_get_timing_method() != tm_sleep) {
display_set_timing_method(tm_sleep);
if (display_get_sleep_margin() != 20) {
display_set_sleep_margin(20);
}
}
위 코드는 타이밍 방법을 확인하고, 만약 tm_sleep
으로 설정되어 있지 않다면 이를 설정하고 sleep margin을 20으로 설정합니다.
활용 예제
예제 1: vsync 사용 설정
if (display_get_timing_method() != tm_vsync) {
display_set_timing_method(tm_vsync);
}
예제 2: 시스템 타이밍 방법 설정
if (is_android() && display_get_timing_method() != tm_system) {
display_set_timing_method(tm_system);
}
예제 3: sleep margin 조정
if (display_get_sleep_margin() < 30) {
display_set_sleep_margin(30);
}
예제 4: 타이밍 방법 확인 및 로그 출력
var current_method = display_get_timing_method();
show_debug_message("Current timing method: " + string(current_method));
이와 같은 방법으로 display_set_timing_method
함수를 활용하여 게임의 렌더링 성능을 최적화할 수 있습니다.