본문 바로가기

Lecture & Column/vga_lec_col

FCAT : 프랩스에 종언을 고함

글쓴이 : 이대근

(이 블로그의 CCL정책에 위배되는 무단전재/재배포를 금지합니다)




재미있는 글을 읽었습니다. 일단 글을 소개하자면 원문은 아래 링크와 같습니다.


(see this : http://techreport.com/review/24553)


간단히 요약하자면 "Fraps로 측정하는 프레임레이트는 정확하지 않다. 나아가 현존하는 모든 방식의 프레임레이트 측정 툴은 잘못되었다." 쯤 됩니다. 작성자가 이렇게 주장하는 근거는 실상 어떤 프로그램도, 그 프로그램이 컴퓨터 내부라는 틀에 묶인 한 실제로 유저들에게 "보여지는 화면"을 카운트할 수는 없다는 한계에 기인한다는 점입니다. (정말 정확한 측정을 원한다면 한 1/1000초 단위로 찍을 수 있는 카메라를 모니터 앞에 놓아두고 변화하는 프레임 수를 하나하나 세면 되겠죠. how clear!) 기존의 프레임레이트 측정 툴의 작동원리는 아래 링크에 우리말로 잘 설명되어 있으며, 링크 원문을 부분적으로 발췌하자면 아래 그림과 같습니다.


(see this : http://gigglehd.com/zbxe/10074789)



▲ 이러한 측정 방식은 일견 타당해 보이지만, 컴퓨터에서 내부적으로 프레임 생성을 완료했다고 하여 유저들이 이와 동일한 결과물을 볼 것이라는 생각은 필연적으로 논리의 비약을 전제로 합니다. 이들 프레임 측정 툴이 초당 프레임수를 계산한 뒤에도 실은 여전히 그래픽카드의 몫으로 남아 있는 과정 -결과물을 모니터로 '출력'해 유저의 눈 앞에 띄워주는- 이 남아 있는 것이며, 여기서 중대한 하자가 발생할 경우 이들이 측정한 프레임레이트와 유저들의 눈에 보여지는 -비록 매우 감지하기 힘들겠지만- 프레임 수는 분명 달라질수도 있는 것입니다. 실제로 이런 '출력되지 않은' 프레임의 비율이 커질수록, 프레임 측정 툴이 가리키는 높은 프레임레이트와 별개로 유저들이 보는 화면의 품질은 저해되어 흔히 '뚝뚝 끊긴다'고 표현하는 느낌을 선사하기도 하는데, 그렇다면 어떻게 이 괴리를 해결할 것이냐. 이 물음에 대한 솔루션이 바로 FCAT 이라는 툴입니다.


FCAT. Frame Capture and Analysis Tool의 약자인 이 툴은 기존의 Fraps류의 프레임 측정툴과는 달리 측정 대상이 되는 컴퓨터(=실제로 게임이 돌아가고 디스플레이에 이를 출력해주는 컴퓨터)와는 별개의 컴퓨터에서 작동하는 것으로, 작동 방식을 간단히 요약하자면 DVI-splitter를 통해 메인 컴퓨터와 연결되어 이 컴퓨터가 실제로 매 순간 생성해내는 프레임 단위의 비압축 avi 영상을 실시간으로 입력받아 고속의 저장장치 어레이에 저장하는 것을 핵심으로 합니다. '매 순간 생성된' 프레임은 각각 고유한 identifier가 붙어(화면 좌측에 프레임 넘버별로 할당된 고유한 색상이 매겨진다고 한다) 순차적으로 헤아렸을 때 내부적으로 생성해낸 프레임(=기존의 프레임 측정툴이 카운트하는 프레임) 대비 실제로 출력된 프레임의 차이를 알 수 있게 해 줍니다. (만약 특정 프레임이 출력되지 않았다면, 해당 번호에 대응하는 identifier가 결손되어 있겠죠) 이를 통해 "실제로 유저들에게 보여지는" 프레임레이트를 알게 되는 것입니다.


당연히, 구현하는 방법이 간단하지는 않습니다. 일단 하드웨어적인 진입장벽만으로도 앞서 언급한 DVI-splitter를 비롯, DVI로 받은 입력을 실시간 동영상으로 저장해주는 카드가 있어야 하며 결정적으로 이 '비압축 avi 영상'이 저장되는 '고속의 저장장치 어레이'는 RAID0 볼륨일 것이 필수적으로 요구된다고 합니다. 즉 최소한 2개의 SSD를 사용해서 RAID0 어레이를 구성한 뒤에야 해볼지 말지를 논할 수 있다는 것인데... 거꾸로 생각하면, '그 정도만 투자해서' 지금까지와는 차원이 다른 '의미있는' 데이터를 얻어낼 수 있다는 말도 됩니다.




(▲ 이런 것들이 필요합니다)

 

사견으로는, 그래픽카드 벤치마크를 수행함에 있어서의 작업과정이란 아래와 같다고 생각합니다.


1. 매회 동일한 양상의 플레이를 유지하도록 노력하여 실제로 게임을 플레이하는 동시에

2. F11키를 눌러 Fraps로 초당 프레임레이트를 기록하고, 또한 동시에

3. (바로 옆에 둔) 노트북에 물려진 와트맨을 돌려 소비전력 측정값을 매초 백업하는 것


이들을 포함하는 일련의 과정 -간단히 말해, 손 두개만 가지고 하기에는 정말 아슬아슬한- 이 결국 테스터의 몫으로 돌아온다는 점을 고려할 때 여기에 FCAT의 운용까지 추가하는 것은 도저히 1인이 감당할 수준이 아니라는 생각도 듭니다만, '이미 이렇게 복잡한 과정을 수행하고 있었는데 FCAT 하나가 더 얹혀진다고 못 하겠나' 하는 생각이 들기도 합니다. 분명한 사실은, 물론 무척 피곤할 작업이 될 것임에 틀림없지만, -몰랐다면 모를까- 이왕 기존의 프레임 측정툴의 한계가 명확해지고 지금까지 우리가 측정해 온 '성능'이란 것이 실상 유저들이 경험하는 것과는 딴판이라는 것이 증명된 이상, 어떤 핑계를 대든 기존의 방식을 고수하는 것 자체가 대중들에 대한 기만이라고밖에는 생각할 수 없지 않을까요.

 

벤치마크 리뷰어 생태계(sphere) 전반에 FCAT 도입에 대한 진지한 논의가 이어져 보길 바랍니다.

 

//

 

(아래 위젯은 티스토리의 크라우드펀딩 시스템인 '밀어주기' 위젯입니다. 100원부터 3000원까지의 범위 내에서 글쓴이에게 소액 기부가 가능합니다. 사견으로는 이러한 형태의 펀딩이야말로, 성공적으로 정착될 경우 이해관계자로부터 독립된 벤치마크가 지속가능해지는 원동력이 될 것이라 생각합니다. 제가 작성한 글이 후원할만한 가치가 있다고 여기신다면 밀어주기를 통한 후원을 부탁드립니다. 물론 글을 '가치있게' 쓰는 것은 오롯이 저의 몫이며, 설령 제 글이 '후원할 만큼 가치있게' 여겨지지는 못해 결과적으로 후원을 받지 못하더라도 그것이 독자 여러분의 잘못이 아니란 건 너무 당연해 굳이 언급할 필요도 없겠습니다. 저는 후원 여부와 관계없이 제 글을 읽어주시는 모든 독자분께 감사합니다.)