지금까지 프레임 측정에서 널리 쓰였던 프랩스는 다이렉트 3D의 드로우 콜을 후크해 렌더링 타이밍을 측정하는 식으로 프레임을 잽니다.
허나 다이렉트 X 12에선 3D 그래픽 드로잉 API가 새로 바뀌고, 벌칸은 이 기능을 쓰지 않으며,나 유니버셜 윈도우 플랫폼은 API 후크를 허용하지 않아 프레임 속도를 측정할 수 없지요.
그런데 이를 해결할만한 소프트웨어가 등장했습니다. 인텔의 GameTechDev에서 PresentMon이라는 오픈소스 소프트웨어를 공개했거든요. 이 소프트웨어는 윈도우 10에 포함된 이벤트 추적 기능을 사용해 3D 그래픽 렌더링 시간을 추적하며, 다이렉트 X 12, 벌칸, UWP도 사용 가능합니다. 다만 다이렉트 X 9.0c 이전은 지원 불가.
이건 PresentMon을 쉽게 사용할 수 있게 만든 프로그램인 PresentMonLauncher입니다. 쉽게라고는 해도 프랩스와 비교하면 참 까다롭습니다.
딜레이는 측정 시작까지의 지연 시간, 타임은 측정 시간을 설정합니다. 딜레이에 10, 타임에 60을 입력하면 10초 후 60초 동안 프레임을 측정한다는 것이지요.
그리고 어떤 프로세스를 측정할 것인지를 목록에서 고르고 실행을 누르면 됩니다.
이 창이 뜨는 걸 확인하고 게임으로 돌아가면, 설정한 딜레이가 지난 후 설정한 시간 동안 측정하게 됩니다. 프랩스와 다르게 프레임을 오버레이 표시하지 않으니 좀 불편하죠. 또 측정 중 작업 전환하면 안됩니다.
테스트 결과는 CSV 파일로 출력하거나 간단히 결과만 보는 것도 가능합니다.
오버레이가 없는 것이 치명적인 듯. 어느 구간에서 프레임이 떨어지는지 알아야 의미가 있는데..