안녕하세요, 감자君입니다.

제가 있는 동호회에서 퍼온글인데 일반 게이머들에게는 조금 어려운 글입니다.
게임 개발자등의 관련 공부를 하신분들은 이해가 가능하시겠지만...
(물론, 학규님은 이해하시리라 믿는...+ㅅ+)
저도 100% 이해는 불가능입니다...(탕)
그냥 "흥미"위주로 읽어주시길.


『게임기 동아리-비디오 게임 정보 (go VG)』 1096번
제  목:[기타] XBOX, 게임큐브, PS2가 지닌 약점                      
올린이:tomochi (유택상  )    02/01/20 14:31    읽음:775 관련자료 없음
-----------------------------------------------------------------------------

<<출처:PC와치>>
http://www.watch.impress.co.jp/PC/docs/2002/0118/kaigai01.htm


■고토히로시게의 Weekly 해외뉴스■

-각각 철학의 차이가 느껴지는 신게임기-
---------------------------------------------------------------------------

●자택에서는 게임기가 풀가동

자택에서 신게임기가 요 2개월동안 풀가동되고 있다。
12월부터 정월에 걸쳐 Xbox의 타이틀을 3가지정도 피니쉬했다。
한편, 게임큐브는 아들이 담당하며, 이것도 순조롭게 게임을 소비하고 있다。
이렇게 해서 신게임기를 만져본 결과 각각의 게임기의 필로소피(철학)가
크게 다르다는 것이 피부로 느껴져온다。

Xbox와 게임큐브는 어느쪽이나 SGI의 흐름을 잇는다。
둘 다 메인엔지니어의 다수가 SGI출신자다。
그 때문에, 특히 Xbox가 그러하지만 그래픽스워크스테이션적인 화면을 보인다。
그에 대해 PlayStation 2의 엔진은 게임기적이지도 않고 그래픽 스워크스테이션적이지도 않은
유니크한 것으로 독자적인 화면을 이룬다。

일단 하드웨어적으로 말하면 각 게임기는 셋 모두 저마다의 약점을 가지고 있다。
그것이 현저한 부분이 바로 메모리다。단순히 말하면 다음과 같다。

.Xbox는 메모리의 대역이 약점
.PlayStation 2는 메모리의 배치가 약점
.게임큐브는 메모리의 양이 약점


            PlayStation 2      Xbox           게임큐브
----------------------------------------------------------
                     비디오메모리+메인메모리  
----------------------------------------------------------
용량             34MB           64MB             27MB
메모리대역    51.2GB/sec       6.4GB/sec      20GB/sec이상?
-----------------------------------------------------------
                            비디오메모리  
-----------------------------------------------------------
용량             4MB           64MB(UMB)       2MB+1MB
아키텍쳐         혼재            UMA              혼재
메모리대역      48GB/sec       6.4GB/sec      10.4GB/sec이상
------------------------------------------------------------
                             메인메모리  
------------------------------------------------------------
용량             32MB            64MB             24MB
아키텍쳐        DRDRAM         DDR SDRAM         1T SRAM
메모리대역      3.2GB/sec      6.4GB/sec        2.6GB/sec
-------------------------------------------------------------


●메모리의 양에 비해서 대역이 빈약한 Xbox

Xbox의 메모리용량은 64MB로 가장 많고 게다가 유니파이드메모리아키텍쳐(UMA)의 단일메모리로
비디오메모리의 영역을 자유롭게 설정할 수 있다。
예를 들면 반분인 32MB를 텍스쳐로 잡고 그 곳에 텍스쳐압축으로 32MB×6=약 200MB분의
텍스쳐를 담아넣을 수가 있다。
게임기의 극소의 메모리양으로 고생하는 개발자에 있어서는 꿈 같은 양의 메모리인 것이다。

이 메모리의 양은 텍스쳐만이 아닌 HDTV대응 등에서도 유리하게 작용한다。
HDTV의 고해상도에 필요한 프레임버퍼를 잡는다해도 충분히 텍스쳐 등에 할당할 메모리가 있기 때문이다。
실제 미국의 발매타이틀에는 HDTV(라곤 해도 대체로 아직 480P)대응 타이틀이 있다。

하지만 Xbox의 유니파이드메모리의 대역은 6.4GB/sec로,
비디오메모리도 합쳐 계산하면 세 가지 아키텍쳐 중에서도 가장 낮다。
이 메모리대역의 낮음은 이론상 Xbox의 약점이 될 것이다。
이론상이라 적은 것은 실제의 게임개발에서 어느 정도의 약점이 될지는 아직 모르기 때문이다。
Xbox는 텍스쳐압축이나 프리패칭으로 메모리대역의 약점을 커버하면서 그에 더해 원패스로 최대 4텍스쳐를 붙일 수 있기 때문에
4개의 텍스쳐를 겹친다해도 텍스쳐리드 이외에는 메모리대역을 잡아먹지 않는다。
그 때문에 이 정도의 메모리대역에서도 어느 정도까지는 문제가 없다。
아마도 통상의 아날로그TV의 해상도에 츨력하는 한은 문제가 없을 것이다。

하지만 Xbox의 스펙을 풀로 사용하려고 하면 어찌될지는 모른다。
예를 들면 HDTV대응으로 해상도를 더욱 올리면 프레임버퍼나 Z버퍼의 대역이 확대된다。
텍스쳐도 해상도에 맞추어 다양해지면 텍스쳐리드도 늘어난다。
또 풀스크린 안티알리아징이나 메모리대역을 잡아먹는 방식의 필터링 등을 하면 더욱 많은 대역을 필요로 한다。
그리되면 대역이 보틀넥을 이룰 가능성이 있다。
이 부분은 실제로 게임개발자가 Xbox의 기능을 사용해보지 않으면 알 수 없다。

지금의 단계는 Xbox의 스타트대쉬로서 개발자는 Xbox의 한계를 끌어내고 있다고는 보이지 않는다。
즉, 아직 Xbox의 잠재성능을 끌어내고 있다고는 말할 수 없다。
확실히「Dead or Alive 3(DOA3)」의 텍스쳐는 압권이고「Halo」는 멀티텍스쳐로
중후한 질감을 내고 있으며「DOUBLE-S.T.E.A.L」은 DOF(Depth-of-Field:피사계심도를 설정해서
흐릿함을 넣는 Multisampling테크닉)을 효과적으로 사용하고 있다。
Xbox가 아니면 불가능한 그래픽스의 타이틀은 확실히 있지만 아직 그것이 다는 아니다。

이러한 Xbox의 메모리에 대한 생각을 요약하면 다음과 같다。
「메모리대역도 중요하지만 메모리의 양이 희생이 된다면 *본말전도(本末轉倒)」라는 철학이다。
이것은 다양한 텍스쳐를 사용하는 CG무비적인 화면 만들기가 Xbox의 베이스이기 때문일 것이다。
(*역주:근본적인 것과 부차적인 것을 바꾸어 취하는 일)


●메모리 배치의 효율이 나쁜 PlayStation 2

그것에 대해서 PlayStation 2는 메모리대역으로는 압도적인 스펙을 자랑한다。
PlayStation 2의 비디오메모리는 그래픽스칩「Graphics Synthesizer(GS)」에 내장된 엠베디드 DRAM으로 대역은 48GB/sec다。
하지만 비디오메모리의 양이라고 하면 겨우 4MB밖에 없다。
따라서 프레임버퍼, 더블버퍼, Z버퍼로 잡아 나가면, 텍스쳐메모리는 반분정도밖에 남지 않는다。

그 때문에 PlayStation 2에서는 메인메모리상에 택스쳐를 로드해 두고 쓸만큼의 텍스쳐를
비디오메모리에 빈번하게 전송할 필요가 있다。
하지만 메인메모리는 CPU+지오메트리엔진인「Emotion Engine(EE)」에 접속되어있다。
EE의 메모리유닛으로 액세스한 다음 GS에 전용포트로 전송하기 때문에 아무래도 대기시간이 길어진다。
게다가 이 캐싱은 자동적으로는 이루어지지 않기 때문에 게임의 엔지니어측에서 관리를 해야 할 필요가 있다。
또 메인메모리상에서 압축되어있는 텍스쳐는 압축을 풀어 비디오메모리에 보낼 필요가 있기 때문에 대역도 잡아먹어 버린다。

이러한 효율나쁜 배치로 인해 PlayStation 2에서는 텍스쳐가 약점이 된다。
다양한 텍스쳐를 쓰기 어렵고 개발자는 텍스쳐데이터를 줄이는 것과 텍스쳐의 캐싱에 머리를 쓰지 않으면 안 된다。
예를 들면 스테이지를 어둡게 해서 색수를 억제한다거나 하는 꽁수를 쓰게 된다。
또 PlayStation 2에서는 렌더링파이프는 1패스로 1텍스쳐이기 때문에 텍스쳐를 겹치기 어렵다
PlayStation 2의 이 약점은 유명하며, 게임개발자의 대다수가 고생을 해왔다。

하지만 PlayStation 2의 이러한 약점은 의도한 것이기도 하다는 느낌도 든다。
즉, 아키텍쳐의 기능을 이용해 멀티텍스쳐나 필터링으로 리얼한 느낌을 내는 것이 아닌,
디자이너가 아름다운 텍스쳐를 그리는 쪽이 좋다고 하는 디자인 철학이 느껴진다。


●인텔리젼트한 캐싱으로 커버하는 게임큐브

한편, 게임큐브도 PlayStation 2와 마찬가지로 비디오메모리에 엠베디드RAM을 사용하고 있다。
하지만 어프로치는 상당히 다르다。게임큐브의 그래픽스칩「Flipper(플리퍼)」에 내장된 비디오메모리의 양은
프레임버퍼와 Z버퍼로 약2MB, 텍스쳐버퍼로 1MB。PlayStation 2보다 적다。
이것은 다이사이즈를 줄여서 비용을 줄이기 위함이다。
이 텍스쳐메모리의 양이라면 다양한 지금의 3D그래픽스를 만드는 것은 어렵다。
그 때문에 PlayStation 2와 마찬가지로 메인메모리상에 잡은 텍스쳐영역과의 사이에서 캐싱이 필요하게 된다。

여기서 게임큐브가 PlayStation 2와 다른점은 이 캐싱을 하드웨어가 관리한다는 것이다。
즉, 개발자측은 텍스쳐데이터가 어디에 있는지를 주의하지 않아도 자동적으로 사용될 텍스쳐가 엠베디드메모리쪽으로 로드된다。
물론 그 때문에 메인메모리가 늦으면 제대로 작업이 이루어지지 않겠지만,
Flipper의 경우는 메인메모리도 랜덤액세스에 강한 1T-SRAM이기 때문에 서스테인의 레이턴시는 약 10ns로 상당히 짧다。

또, PlayStation 2와 달리 그래픽스칩 자체가 메인메모리에 접속되어있다。
그 때문에 PlayStation 2보다 훨씬 관리하기 쉽다。
게임큐브에서는 이 고속의 메인메모리 상에 더블버퍼영역도 잡을 수 있다。
즉, 더블버퍼에서 직접묘화하는 쪽의 버퍼는 내장메모리에 두고 DAC에 출력해서 표시하는 측의 버퍼는 메인메모리에 잡는다。
덧붙여 게임큐브의 경우 DAC는 Flipper가 아닌 바로 비디오케이블에 내장되어있다。

이러한 아키텍쳐로 비디오메모리의 양을 잘 커버하고 있는 게임큐브지만, 눈물을 흘려야 하는 부분이 있다。
그것은 메모리의 양이다。독특한 1T-SRAM을 메인 메모리로 사용하기 때문에 메인메모리는 96Mbit의 x32칩 2개의 합계 24MB로 되어있다。
이 불리함을 보충하기 위해 게임큐브에서는 128Mbit의 SDRAM(x8)을 1개 내장하고 있다。
이것으로 16MB가 플러스된 셈이지만 이 메모리는 메인 메모리와는 아키텍쳐도 버스도 다르기 때문에 사용방법은 한정되어있다。
실제로 어떻게 사용되고 있는가는 모르지만 그다지 유효하게 사용할 수 있다고는 생각할수 없다。

이 메모리양의 적음은 이론상 게임큐브의 약점이 된다。
이론상이라고 쓴 것은 이쪽도 Xbox와 마찬가지로 이 약점을 커버하는 장치가 여럿 준비되어있기 때문이다。
가능한 한 데이터양을 적게 생성하도록 연구되어있다。

또한 이러한 아키텍쳐를 쓴 게임큐브는 칩이 단 5개뿐으로 극히 적다。
차지하는 면적도 작아서 그것이 그처럼 작은 상자의 모양을 실현해내고 있는 이유다。
그 곳에는 게임기는 작고 콤팩트해서 아이들의 방 바닥에 둘 수 있게 하지않으면 안 된다고 하는 철학이 느껴진다。