최근처럼 연말연시는 일년 가운데 PC가 가장 많이 팔리는 중요한 시즌이다. 달리 말하면 각종 신제품들이 앞다퉈 선을 보이는 중요한 시기다. 더군다나 게임을 즐기는 3D유저라면 이번 겨울에는 그래픽카드의 양대 산맥이라 할 수 있는 ATi와 엔비디아가 모두 새로운 제품들을 선보였다는 사실에 기뻐할만하다.
하지만 냉정하게 말해서 이번에 선보인 ATi와 엔비디아의 새로운 그래픽카드들은 신제품이지 신기술은 아니다. 이름에서도 알 수 있듯 기존 제품의 기술적인 아키텍처를 그대로 계승하고 있으며 결론적으로 단지 약간의 클록이 높아졌을 뿐이다.
하지만 게임을 즐기는 사용자거나 특히 최근 선보인 3D게임을 즐기는 경우라면 그 약간의 차이가 결코 적지 않음을 알 수 있다. 누구나 빠른 시간에 작업을 끝내는 컴퓨터를 원하듯 빠른 속도로 그래픽을 뿜어내는 그래픽카드에 대한 열망은 간절하다. 최신 3D 그래픽카드의 흐름 중 하나인 다이렉트 X에 대해 점검하고, 주요 신제품인 ATi 레이디언 9600XT, 9800XT와 엔비디아 지포스FX 5700, FX5950을 비교 분석해봤다.
◇‘오픈GL’과 ‘다이렉트 X’ 비교=제품분석에 앞서 오픈GL과 다이렉트 X에 대해 살펴볼 필요가 있다. 최근 DX라 말하는 다이렉트X는 기존 그래픽을 위한 규격인 DCI(Display Control Interface)의 단점을 보완해 그래픽, 사운드, 입출력장치 등의 주요 주변기기를 응용 프로그램이 직접 제어할 수 있게 인텔과 마이크로소프트가 제정한 종합 가속표준규격을 말한다.
흔히 API라는 말도 많이 쓰곤 하는데 애플리케이션 프로그래머 인터페이스로 어떤 프로그램을 개발하는 인터페이스의 표준 정도로 번역할 수 있다. 어떻게 하면 3D화면을 더욱 생동감 있고 편하게 표현할 것인지를 그래픽카드 제조사, 운영체제 제조사, 게임 제작사 등이 서로 사전에 약속한 것이다.
예전에는 이런 역할을 게임이나 응용프로그램마다 서로 다른 제작사에서, 서로 다른 규격으로 만들었다. 하지만 윈도가 표준처럼 이용되면서, 게임이나 응용프로그램 역시 일정한 규격과 호환성을 갖춘 새로운 규격이 필요하게 됐다. 윈도 3.1이 선보이면서 만들어진 이런 규격이 바로 WinG가 이런 다이렉트X의 원조라 할 수 있다. 당시로서는 3D API시장을 주도하던 오픈GL에 대응한다는 면도 적지 않았다. 오픈GL은 이름처럼 도스·리눅스·윈도 등 기반을 가리지 않고 쓸 수 있다는 뛰어난 이식성을 갖고 있으며, 반대로 다이렉트X는 처음부터 철저하게 윈도를 기반으로 한다는 점이 다를 뿐이다.
다른 차이점은 오픈GL은 처음부터 게임만을 위한 것이 아니었다는 점이다. 반대로 다이렉트X는 철저하게 윈도를 기반으로 하는 게임에 특화된 분위기를 풍긴다. 이러한 3D 그래픽에 관련된 API로는 스피디 3D와 R 레드라인(렌디션), 부두(Voodoo) 등으로 한 시대를 풍미했던 3Dfx의 글라이드 등을 들 수 있다.
다만 이런 모드는 철저하게 하드웨어 의존적이어서 범용이라고 할 수 있는 오픈GL이나 다이렉트X와는 비교된다. 따라서 오래된 게임이나 그래픽에서는 아직도 오픈GL을 기반으로 하고 있음을 어렵지 않게 찾아볼 수 있다. 반대로 최신 게임의 경우 처음부터 다이렉트X를 기반으로 하는 경우가 많다. 일부 유저들은 “오픈GL이 좋다.”거나 “다이렉트X가 뛰어나다.”는 등의 소모적인 논쟁을 하곤 한다.
하지만 두 가지 API 모두 컴퓨터에서 3D를 구현하는데 필수적인 아이템으로 자리잡은 지 오래다. 성능의 우위를 비교하는 것보다는 이를 기반으로 하는 게임의 성능을 말하는 것이 훨씬 합리적인 셈이다. 이런 다이렉트X의 최신 버전이 9.X시리즈다.
◇다이렉트 X 9.0 출현=최근 그래픽카드 제조사들은 더 이상 그래픽 칩세트나 코어라는 말을 쓰지 않는다. 대신 GPU나 VPU라는 말을 쓰고 있다. 그래픽 프로세서 유닛(Graphic Processor Unit)의 약자인 GPU는 어느 정도는 마케팅 개념이기는 하지만 그만큼 그래픽카드가 처리하는 몫이 늘어나고 있다는 방증이다. 반대로 VPU는 ATi에서 쓰는 것으로 비주얼 프로세싱 유닛(Visual Processing Unit)의 머릿글자를 딴 것이다.
이렇게 그래픽칩세트가 CPU 못지 않게 복잡해지는 이유는 그만큼 그래픽카드가 처리해야 할 연산이 늘어나고 있기 때문이다. 그리고 늘어난 연산의 대부분을 차지하는 것이 바로 셰이더라고 해도 좋다. 이런 셰이더의 표준을 정한 것이 바로 다이렉트X 9시리즈인 셈이다.
수많은 제조사에서 다이렉트X 9.0에 주목하는 이유는 다이렉트X 9.0이 지금까지의 다이렉트X의 단순한 버전업이 아니기 때문이다. 실제로 다이렉트X는 마이크로소프트가 HP, 실리콘그래픽스 등 쟁쟁한 업체들과 손잡고 만든 이른바 패런하이트(Fahrenheit) 프로젝트의 결과물이다.
즉 지금까지의 다이렉트X에 또 다른 표준이었던 오픈GL을 하나로 묶는 것이다. 다이렉트X는 지금까지와는 다른 새로운 기술 변화의 분기점으로 인식되고 있다는 뜻이다.
현재의 버텍스셰이더와 픽셀셰이더 가운데 하드웨어적으로 더욱 민감하고 어려운 버텍스셰이더는 지금보다 훨씬 많은 4개, 또는 8개 정도를 기본으로 갖추는 것도 이런 셰이더 시대의 3D그래픽카드 흐름을 잘 보여주는 대목이다. 버텍스셰이더의 중요성이 커지면서 GPU에서 차지하는 비중도 커지고 있다. 그렇다고 물리적인 크기를 무시하지는 못하므로 0.13㎛ 같은 미세공정을 쓰는 것도 이런 이유다. 부수적으로 발열이나 전력소모량 등의 이점을 얻게 된다. 기존 그래픽카드로는 하드웨어적으로 더욱 처리하지 못하기에 새로운 그래픽카드가 필요하게 된 것이다.
단순히 파이프라인 개수의 증가뿐 아니라 셰이더의 기능에서도 큰 변화가 있다. 하드웨어적인 장점인 명령어 세트 수가 크게 늘어나고, 레지스터도 확장된다. 점점 CPU를 닮아간다고 할 수 있다. 대표적으로 다이렉트X 8.0에서 정수연산으로 처리하던 픽셀셰이더의 경우 다이렉트X 9.0에서는 부동소수연산으로 바뀌었다. 부동소수연산을 하게된다는 뜻은 부동 소수점만큼의 정밀도를 가지고 더욱 정밀한 픽셀셰이더 연산을 한다는 뜻이다.
반대로 지포스시리즈를 유명하게 만들었던 하드웨어 T&L기능은 이제는 더 이상 의미가 없다. 그래픽카드의 성능이 비약적으로 발전하면서 더 이상 이를 처리하기 위한 별도의 회로보다는 일반적인 연산으로도 충분히 하드웨어 T&L을 처리할 수 있게 됐다. 대신 그만큼의 연산 능력을 셰이더에 배분하는 식이다. 한마디로 다이렉트X 9.0의 핵심은 쉐이딩 기능의 대폭적인 강화라고 해도 좋다.
◇셰이더, 어디가 더 최적화됐나=새로운 그래픽카드들이 선보이는 목적은 최신 3D게임에서 좀 더 최적화된 모습을 보여준다는 것이며, 그 중심에는 다이렉트X 9로 대표되는 셰이더가 있다.
그렇다면 과연 셰이더란 무엇일까? 컴퓨터화면이라는 2D공간에 3D를 구현하기 위해서는 남다른 기술이 필요하다. 이를 해결하는 방법으로 그 동안은 3D의 기본이 되는 폴리곤 수를 늘리는 방법을 써왔다. 폴리곤 수를 늘리면 늘릴수록 더욱 실감나는 3D화면을 볼 수 있기 때문이다. 하지만 이런 고전적인 방법으로는 실제 같은 3D를 만들기도 힘들뿐더러 질감 등에서는 분명 한계가 있다. 이를 해결하는 방법으로 가장 각광을 받는 것이 바로 셰이더다.
기존의 그래픽엔진에서는 폴리곤의 꼭지점인 버텍스를 연결해서 하나의 대상물을 만들어낸다. 이러한 버텍스가 담고 있는 정보는 단순히 위치 값은 물론 색상, 좌표, 반사값 등 다양한 정보를 담고 있다. 이 값들을 이용해서 이미지를 만들어내는데, 이를 처리하는 그래픽엔진이 바로 하드웨어 T&L엔진이다. 셰이더 가운데 핵심이라고 할 수 있는 버텍스셰이더는 이런 변환과정을 한 단계 발전시킨 것이다. 즉 만들어진 폴리곤을 움직이고 변형시킴으로써 얻어지는 생동감의 효과를 극대화시킨 것이다.
다만 이 과정에서 버텍스의 위치가 변하게 되면 좌표값을 비롯한 행렬, 광원값, 텍스쳐 등 수많은 데이터들도 함께 달라지게 된다. 말은 쉽지만 복잡한 연산과정을 전문적으로 처리하고 보다 자연스러운 변화를 유도하는 각종 기술을 일컬어 버텍스셰이더라고 한다. 이를 아예 하드웨어적으로 처리하는 것이 이른바 다이렉트X 9지원 그래픽카드인 셈이다.
당연히 그래픽카드에서 하드웨어적으로 이를 갖추지 않으면 CPU를 이용한 소프트웨어적인 연산을 하므로 품질이 떨어지고 속도 또한 비교하기 힘들 정도로 느려진다.
다이렉트X 9 그래픽카드란 이러한 버텍스쉐이딩에 필요한 각종 명령어들을 미리 하드웨어적으로 만들어 빠르고 정확한 연산을 하는 엔진을 갖춘 것이다. 대표적으로 지포스의 시네FX엔진이 바로 그것이다. 이를 이용한 3D는 기존 이미지에 비해 다양한 환경효과를 보다 쉽고 정밀하고 사실적으로 표현 할 수 있다는 장점이 있다. 예를 들면 기존 그래픽으로는 현실감이 떨어지는 안개효과나 물 속 등도 사실감 넘치는 표현을 보다 쉽게 할 수 있다. 안개효과, 원근감, 수중효과, 빛의 굴절, 광원효과 등도 매우 사실적이다.
또 다른 축인 픽셀셰이더는 조금 다르다. 3D그래픽은 픽셀로 구성되며 하나의 완성된 3D 이미지를 만들기 위해서는 먼저 렌더링을 하고 광원효과를 넣고 쉐이딩하고 색을 입힌다. 픽셀셰이더는 광원효과를 비롯한 여러 가지 쉐이딩 효과를 픽셀 단계에서 만드는 것을 조절하는 것이다.
◇3D의 속도보다는 ‘품질 경쟁시대’=다이렉트X 9.0 시대의 개막에서 볼 수 있는 것은 단순한 3D의 속도 시대가 저물고 있다는 사실이다. 앞으로 선보이는 그래픽카드들은 한결같이 기초적이라도 셰이더엔진을 갖출 예정이다. 얼마전 내장형 그래픽카드의 대명사인 인텔 익스트림 그래픽에도 버전 3부터는 듀얼 디스플레이와 셰이더를 쓸 수 있을 것이라는 소식이 알려진 바 있다.
다이렉트X 9.0을 비롯한 모든 컴퓨터 3D의 목표는 기본적으로는 컴퓨터 그래픽수준이며, 궁극적으로는 실사수준의 그래픽이다. 이를 위해 다이렉트X 9.0에서도 나뉘어지는 버텍스셰이더와 픽셀셰이더 역시 다이렉트X 10정도에서는 하나로 통합된 병렬 구조로 바뀔 것으로 예상된다.
하드웨어적으로도 다이렉트X 7.0 세대의 그래픽칩세트의 트랜지스터 집적도는 2000만∼3000만개 수준인데 비해, 이미 다이렉트X 8.0 시대에 접어들면서 최고 성능의 펜티엄4를 능가하는 6000만∼7000만개의 트랜지스터 집적도를 보이고 있다. 공정 역시 기존 0.22㎛에서 0.18㎛으로, 또 다시 0.15미크론으로 진화를 거듭하고 있다. 심지어 이미 0.13㎛을 적용한 제품이 이번에 선보였다. 이렇듯 다이렉트X는 단순한 소프트웨어 규격이 아니라 하드웨어의 발전 방향에도 큰 영향을 미친다. 단지 다이렉트X를 설치하는 것으로 최신 게임을 즐길 수 있는 것이 아니기 때문이다.
◇총평=4개 제품을 분석해본 결과 클록이 높아졌다는 것이 가장 큰 특징이다. 먼저 고가 제품인 ‘지포스 FX5950울트라’와 ‘ATi 레이디언 9800XT’을 비교해볼 때 사양상으로 볼 때는 지포스 FX5950이 조금 앞서고 있다. 지포스 FX5950의 코어클록 속도는 475MHz이며, ATi 레이디언 9800XT의 속도는 412MHz에 달한다. 이 두 제품은 빠른 그래픽 코어로 처리한 데이터를 얼마나 빨리 메모리로 옮길 수 있는가에 중점을 두고 있다.
상대적으로 이 두 제품보다 가격이 저렴한 ‘레이디언 9600XT’와 ‘지포스FX5700’ 시리즈는 가격대비 성능이 비교적 만족스럽다. 레이디언 9600XT는 상위기종인 9800XT보다 진보된 0.13미크론 공정으로 만들어지고 있을 정도다. 그러나 클록은 높지만 하이엔드 3D게임에서 약점을 보이고 있다. 지포스FX5700 역시 크게 다르지 않다. 전체적인 규격을 보면 결코 고급 규격에 뒤지지는 않지만 세부적인, 특히 다이렉트X 9가 요구하는 셰이더의 파이프라인이나 구조가 약한 것이 흠이다.
하지만 지포스FX5700울트라는 거의 혁명적인 변화를 보인다. 단지 속도 빠른 BGA타입을 쓰는 데 그치지 않고, DDR2메모리를 쓰고 있기 때문이다. 이 두 제품은 고가제품에 비해 쿨러 부문에서 상대적으로 가장 큰 차이를 보이고 있다. 두 제품 모두 쿨러가 칩세트만 식히면 그만이고, 메모리의 냉각에는 신경 쓰지 않아도 되기 때문에 쿨러구조가 단촐하다.
<분석=컴퓨터닷코리아 김영로 팀장 tester@computer.co.kr>
<정리=이병희기자 shake@etnews.co.kr>