구글 태그

2008년 1월 16일 수요일

비스타가 갖는 의의..

비스타 별로라고 사람들이 하도 악담을 하길레, 측은한 마음에 약간 변명을 해줄까 합니다. 뭐 사실 비스타에 국한된 얘기는 아니고, MS의 운영체제 개발 방향이 그렇게 흘러갈 수 밖에 없었던 이유에 대한 추측이에요. 기술적인 이야기는 간단히 넘어가고 사용자 관점에서 본 장점 위주로 쉽게 풀어쓰도록 노력하겠습니다.

이 글은 하드코어 게이밍 관점에서 적습니다. 원래 이쪽이 가장 먼저 시스템의 한계에 직면하는 쪽이고, 이쪽부터 이야기를 풀어가는게 이해가 빠르겠죠.

비스타에만 들어가는 DirectX 10의 실체가 도대체 뭐냐에서 시작해보죠. DirectX 10을 비스타에서만 지원하는게 XP에서도 지원할 수 있는걸 일부러 안하는거 아니냐고 하시는 분들이 많은데, 이게 반만 맞고 반은 틀리다고 해야할까.. 하튼 그래요.

XP까지는 디스플레이 장치 드라이버가 WDM(Windows Driver Model) 방식이었습니다. WDM은 디스플레이 드라이버를 위한 구조는 아니었기 때문에 다른 장치 드라이버와 유사한 구조를 갖고 있었고, 이 때문에 오는 한계 같은게 좀 있었어요. 대표적인게 전화면으로 게임을 하다가 창으로 빠져나가면 전화면 게임이 사용하던 화면이 깨지기 때문에 게임으로 돌아가는데 한참 걸리던 것 같은 증상이죠. 이걸 device lost라고 하는데, WDM 방식에서는 어쩔 수가 없는 증상이었어요. 왜냐하면 디스플레이 어댑터(흔히 말하는 그래픽 카드)라는 자원이 운영체제가 전적으로 관리하는 자원이 아니라 독립적으로 존재하며 통신을 주고 받는, 서로 협력하는 자원이기 때문에 장치의 상태를 세세하게 유지시킬 수가 없었던거죠.

이런 이유로(더 현실적으로는, 이런 상태로는 3D 데스크탑-3차원 바탕화면-을 만들 수 없었기 때문에) 비스타에 새로운 디스플레이 드라이버 구조를 만드는데, 그게 WDDM(Windows Vista Display Driver Model)입니다.

다음은 관련 문서인데, 기술적인 설명이니 생략하셔도 됩니다.

Windows Vista Display Driver Model

게임의 관점에서 보면, WDDM을 도입하면 장치를 잃는 일이 확연히 줄어들기 때문에 전체화면과 창화면으로의 전환에도 로딩 속도가 줄게 되고, 기존의 셰이더 구조에 기하 셰이더-geometry shader-를 추가할 수 있게 되죠.

기하 셰이더의 경우에는, 현재로서는 그다지 큰 장점은 없다고 봐야 해요. 기하 셰이더로 할 수 있는 작업은 CPU로도 대체할 수 있는데, 요즘은 CPU가 점점 멀티코어로 가면서 셰이더 보다는 남는 CPU 코어를 활용하는 쪽이 성능면에서 더 이익인 상태라..

그러니까 DirectX 10이 비스타에만 들어갈 수 있는 이유는 요약하면 다음과 같습니다.


1. 3D 데스크탑을 구현하려면 운영체제가 이전보다 디스플레이 어댑터를 더 많이 장악해야 했다.

2. 이를 구현하기 위해 커널을 고쳐서 새로운 드라이버 구조를 만들었다. (이 부분은 XP에 적용이 불가능)

3. 새로운 드라이버 구조를 통해 기하 셰이더를 구현했다. (이 부분은 기존의 DX9에 적용이 불가능)

4. 현재로서는 멀티코어 CPU가 더 빠르므로 기하 셰이더가 큰 소용이 없다.


그러니까 DirectX 10이 비스타에만 들어가는건 타당한 이유가 있지만, 사용자 입장에서는 DirectX 10 자체가 당장은 큰 쓸모가 없다는 얘기죠. 하지만 앞으로 어떻게 될지는 단언하기 어려워요. 디스플레이 어댑터에서 처리하는 기하 셰이더의 성능이 향상되고 물리와 인공지능 처리량 등의 증가로 멀티코어 CPU 활용이 극대화되면 상황이 다시 바뀔수도 있죠.

이외에 현재의 XP가 구조적으로 한계에 다다르는 문제점이 있어요.

이건 사실 XP의 문제가 아니라 32비트 운영체제의 구조가 갖는 문제인데, 디스플레이 어댑터에 꽂을 수 있는 비디오램의 크기가 슬슬 한계에 다다르고 있어요.

최근의 게임은 비디오램을 512MB까지 활용하는데, 이런 추세대로라면 2~3년내에 1GB를 돌파할것 같아요. 그런데 32비트 운영체제에서는 비디오램을 1GB씩 꽂기가 어려워요.

다음은 역시나 기술적인 설명이므로 생략해도 무방합니다.

Dude, Where's My 4 Gigabytes of RAM?

왜 비디오램을 1GB씩 꽂기가 어렵냐면, 운영체제가 그런 용량을 할당하기가 어렵기 때문이에요. 32비트 운영체제는 메모리 주소로 2의 32승 = 4기가의 크기를 가져요.(2^32=4,294,967,296bytes=4GB) 그 중에 운영체제가 장치드라이버 및 프로세스나 공유 개체 등 여러가지 운영체제 관리 기능에 2기가를 사용하고, 응용프로그램에게는 각각 2기가씩의 가상 메모리 주소 영역을 주죠. 그런데 비디오램에 내용을 채우려면 운영체제가 사용하는 주소 영역에서 주소를 떼어내어 할당해 주어야 하는데, 여기다 1기가씩 주면 다른 작업을 하는데 필요한 공간이 없어지는거에요. 일단 비디오램이 1기가인 정도는 다른 편법을 동원해서 해결할 수도 있지만, 1기가 이후에도 비디오램의 크기는 점점 더 커질 공산이 커요. 그렇다면 언제까지 편법으로 해결할 수 있을까요? 결국엔 64비트 운영체제로 넘어가는 수 밖에 없어요.

결국 비스타는 이 두가지 문제를 모두 한방에 해결하는 방식으로 설계한거죠. 뭐 이외에도 여러가지를 한번에 처리하려고 했지만(WinFS니 하는 것들), 게이머 관점에서는 가장 중요한 두가지 문제가 비스타(정확히는 비스타 64비트 버전)에서 해결이 됩니다. 그러니까 결국 언젠가 향후에는 비스타 64비트 버전이나 그 후속버전으로 갈 수 밖에 없어요. 물론 그 전에 한번 고비를 넘어야 할거에요. 누군가가 64비트에 맞춘 게임을 내놔야 하니까요. 현재로서는 시장상황상 그렇게 만들 개발사가 없겠지만, 하이엔드 그래픽을 추구하는 미국쪽 개발사 중에 어딘가에서 2~3년내에는 그런 게임이 나오지 않을까 싶어요.

그런데 지금까지 나온 이야기를 뒤집어보면, 일반 사용자 입장에서는 비스타를 쓸 필요가 없다는 얘기가 됩니다. 그 말도 맞아요. 단지 제가 하고 싶은 얘기는, 32비트 기반의 XP는 한계가 있고, 그 한계는 빠른 시일내에 현실로 드러나게 되므로, 향후 몇년간 판매할 것을 목표로 비스타를 개발하는 MS로서는 제품 싸이클 내에 한계에 맞닥뜨리지 않기 위해서라도 새로운 구조로 갈 수 밖에 없었다는 거에요. XP도 벌써 6년이나 됐고, 비스타도 6년 이상 판매할 생각이라면, 앞으로 2~3년을 못 버틸 운영체제로 만들수는 없다는거죠.

그러므로 적어도 3년 후에는 하드코어 게이머들은 비스타 계열로 갈아탈 수 밖에 없을거에요. 이런 관점에서 너무 비스타 구리다고 비난하지 마시고 시스템 성능이 안되는데 억지로 쓰실 필요는 없지만 좋은 PC를 쓰신다면 미리 정을 들여보세요. :)

댓글 4개:

  1. 64비트 OS로의 전환과 XP에서 Vista로의 전환을 별개의 문제로 봐야 할 것 같습니다.

    64비트를 지원하는 게임은 이미 여럿있습니다. Crysis, Half-Life 시리즈 등 하이엔드 슈팅 게임들이 대표적인 예라고 할 수 있습니다.

    --

    XP의 Service Pack으로 새로운 비디오 드라이버 모델을 포함했었더라면 어땠을까요? 그랬더라면, 게임 개발자들의 DX 10 도입 부담이 훨씬 줄고, 결국 게임 시장의 진화를 촉진할 수 있었을 것입니다. 그러니까, Vista와 DX 10을 꽁꽁 묶은 것은, MS의 MS만을 위한 정책이었을 뿐이라고 생각합니다.

    답글삭제
  2. 1. 64비트의 경우엔, 본문에 적었다시피 반드시 Vista가 아니더라도 그러한 방향으로 가는게 불가피하다는 이야기입니다. 그 시기에 나온게 Vista일 뿐이죠.

    2. 64비트 OS에서 돌릴 수 있는 게임과 64비트에서만 돌릴 수 있을 정도로 제대로 활용한 게임은 차이가 있죠.

    3. 드라이버 모델 변경은 큰 일이에요. MS는 이전에도 Win98 SE를 별도의 OS로 판매한 일이 있는데, 이때도 기존 Win98과의 가장 큰 차이점 중 하나가 드라이버 모델이 VDM에서 WDM으로 바뀐 거였습니다. 커널을 뜯어서 드라이버 모델을 추가하는게 워낙 큰 작업이라 동일 OS로 간주하지 않는 모양입니다.

    답글삭제
  3. 사용실적을 두째치고라도, 저는 다음 윈도우즈 7이던가요? 그것을 기대하게 만듭니다.
    개인적으로 MS가 기본 음성으로 샘이 아닌, 다른 음성엔진 하나만 장착해도 소비자에게 어필하는 강도가 다를텐데 하는 생각도 듭니다.
    아직, 수많은 기술이 있지만, 제대로 활용되도록 만들지 않아서 그렇지 MS 는 할 것 많다는 생각이 듭니다.

    답글삭제
  4. 위의 익명의 분과 같은 생각입니다.
    비스타에 조금만 더 신경써줬더라면 일반인들도 꽤 관심을 기울였을 텐데 말이죠.

    앞으로 MS의 운영체제가 갈 길이 많이 남아 있는 것 같습니다.

    답글삭제