테크노아
> 기획&벤치 > 강좌
Radeon Technology - (4) 성능
테크노아  |  webmaster@technoa.co.kr
폰트키우기 폰트줄이기 프린트하기 메일보내기 신고하기
승인 2000.09.28  11:15:00
트위터 페이스북 미투데이 요즘 네이버 구글 msn


Radeon Technology

(4) 성능


현실적이고, 포괄적인 3D 세계를 이야기하는데 있어서, 이 이야기의 유일한 부분은 바로 '이쁜 그림'이라는 명제일 것이다. 3D의 환경이 얼마나 세밀하게 묘사되었는가는 중요하지 않다. 만약 사용자가 액션을 취했을 때, 이것에 대한 반응이 부드럽다거나 즉각적인 피드백을 보이지 못한다면 현실감에 대한 환상은 저멀리 사라져버릴 것이다. 실제 세계를 보자면, 눈에 보이는 것들은 즉각적으로 변화하고 있다. 어떠한 지연도 없으며, 깜빡이지도 않고, 갑자기 한 장면에서 다른 장면으로 휙 바뀌지도 않는다. 이러한 유연함과 즉각적인 반응의 필요성은 대단히 중요해서 게임 개발자들은 대개 일반적인 시스템에서 부드러운 게임 플레이를 유지하기 위해 그들이 표현하는 이미디의 품질과 디테일의 수준을 제한한다.

3D 어플리케이션에서 즉각적인 반응과 물흐르듯 부드러운 움직임을 얻기 위해서는 소프트웨어와 하드웨어 모두 사람의 눈이 느끼지 못할 정도로 빠른 속도로, 화면에 표시되는 정보를 새로운 것으로 업데이틀할 능력을 가지고 있어야 한다. 저해상도를 가지는 텔레비젼이나 영화 스크린등에서는 이것은 단지 초당 24내지는 30 프레임 정도로 해결된다. 그러나, 고해상도의 모니터나 플랫 패널등에서는 최소한 초당 60프레임 이상의 속도가 요구된다. 이것은 갑작스러운 움직임이나 순간적인 반응, 정밀한 조준 등이 필수적인 빠른 템포의 액션 게임에서는 매우 중요한 것이다.

그래픽 성능의 측정

그래픽 프로세서의 성능을 상대적으로 가장 정확하게 상징하는 한가지 지표를 말할 때, 가장 일반적으로 언급되는 통계적인 수치는 필 레이트(fill rate)이다. 하지만, 불행히도 필 레이트는 몇 가지 다른 통계치를 가지는 중의적인 단어이다. 여기에는 아래와 같은 것들이 포함되어 있다.

  • 픽셀 필 레이트 : 그래픽 프로세서가 1초에 렌더링해낼 수 있는 픽셀의 개수를 말한다. 그래픽 엔진의 클럭과 렌더링 파이프라인 수의 곱으로써 도출되며, 대개 Mpix/sec(Megapixels per sec.)의 단위로 표현한다.
  • 텍스쳐 필 레이트 : 그래픽 프로세서가 1초에 렌더링할 수 있는 텍셀(여기서의 텍셀은 텍스쳐 비트맵을 가지고 있는 단일 픽셀을 지칭한다.)의 수치를 말한다. 그래픽 엔진의 클럭과 텍스쳐 유닛 수를 곱한 다음, 여기에 단일 클럭 사이클에서 각각의 픽셀에 적용될 수 있는 필터링 샘플의 수치(포인트 샘플링에서는 1이 되며, 바이리니어 필터링에서는 4, 트라이리니어 필터링에서는 9가 되는 식이다.)를 곱한 것이다. 일반적으로 Gtex/sec(Gigatexels per sec.)의 단위로 표현한다.
  • 유효 필 레이트 : 그래픽 프로세서의 성능을 언급하기 위해서 마케팅에서 언급되는 필 레이트는 거의 다 바로 이 유효 필 레이트이다. 그래픽 칩이 초당 1초에 작업해낼 수 있는 픽셀의 수와 단일 클럭 사이클에서 하나의 픽셀에 적용될 수 있는 텍스쳐의 수(텍스쳐 유닛의 수로 결정된다.)를 곱한 수치와 같다. 일반적으로 Mtex/sec(Megatexels per sec.) 또는 Gtex/sec( = 1,000 Mtex/sec)의 단위를 갖는다.

좀 더 자세하게 이야기하자면, 필 레이트는 단지 그래픽 프로세서가 가지는 '이론적인' 성능일 뿐이다. 이 수치는 프로세서가 언제나 100%의 효율로 동작한다는 것을 가정하고 있지만, 실상 메모리 대역폭이나 AGP 버스 대역폭, CPU의 속도 등의 제약으로 인해서 그러한 최대 속도가 지속적으로 유지될 수는 없다. 실제 어플리케이션의 구동에서는 이러한 가정들은 거의 들어맞지 않는다.

3D 어플리케이션이 달성할 수 있는 프레임 레이트에 영향을 줄 수 있는 요인에는 여러가지가 있다. 하지만 일반적으로 모든 상황에서, 성능에 가장 큰 영향을 주는 병목(bottleneck)이 하나씩 존재한다. 속도를 향상시킬 수 있는 중요한 요소는 바로 이러한 병목을 찾아내서 제거하는 것이다. 예를 들어서 PCI 버스의 대역폭이 그래픽에 있어서의 병목이 되었을 때, AGP 버스가 개발됨으로써 이를 극복했다. 이 이후에는 CPU가 새로운 병목으로 등장했다. 이 이후에 나온 새로운 기술들은 이전에는 CPU에 의해서 처리되었던 그래픽 작업들(트라이앵글 셋업이나 T&L 등의 작업)을 CPU로부터 그래픽 프로세서로 넘겨줌으로써, 이러한 병목을 해소하고 있다. 이제, CPU는 그래픽의 성능에 있어서 더이상 주요한 성능감소의 요인이 되지 않는다. 현세대의 그래픽 하드웨어에서, 가장 우선되는 속도결정 요인은 바로 메모리의 대역폭이다.

장면에 보다 복잡해질수록, 이 장면을 세팅하고 렌더링하는데 필요한 데이터의 양은 기하급수적으로 증가한다. 그래픽 칩이 데이터를 연산해낼 수 있는 속도는 급속히 증가하고 있어서 오늘날의 대다수의 가장 진보된 최신 메모리 기술이 가져올 수 있는 성능을 능가해버렸다. 그래서 그래픽 칩은 종종 사용하는 데이터를 외부의 메모리로부터 가져오는 것을 피하기 위해서 데이터 캐싱을 사용하기는 하지만, 합리적인 가격을 유지하기 위해서 캐시의 양을 적게 할수밖에 없다. 이 문제를 풀어내지 못한다면, 그래픽 프로세서의 클럭 스피드를 올린다거나 많은 병렬 렌더링 파이프라인을 추가한다는 것은 단지 진흙에 빠진 자동차가 타이어를 헛굴리고 있는것과 마찬가지 상황일 뿐이다. 메모리 디자이너들은 성능 향상을 위해서 완전히 새로운 길을 찾아내고 있으며, 기존과는 다른, 새로운 종류의 해법이 만들어져야만 한다.

하이퍼 Z 테크놀러지

ATI Radeon 칩은 메모리 대역폭 부족 문제를 해결하기 위해서 새로운 접근방법을 사용한다. 혁신적인 하이퍼 Z 테크놀러지는 메모리를 칩 내부로 집적한다거나 특허권이 걸린 기술들을 사용하기 위한 추가적인 비용부담 없이도 메모리 대역폭의 효율을 향상시킨다. 이러한 주요 병목을 해소함으로써, 현실적이고, 실시간으로 만들어지는 3D를 막고 있는 장애물이 극복되는 것이다.

메모리의 종류와 속도에 따라 그래픽 칩은 구현할 수 있는 필 레이트의 상한선을 가진다. 아래의 테이블은 하이퍼Z가 그래픽 칩이 1초에 렌더링할 수 있는 32bit 컬러의 픽셀 수를 얼마나 증가시키는가를 각각의 프레임 버퍼 메모리의 종류 및 속도와 함께 보여주고 있다.

오늘날의 모든 3D 어플리케이션은 어떤 오브젝트가 관찰자에게 보이고 있는가에 대한 정보를 추적하기 위해서 몇 종류의 심도 버퍼를 사용하고 있다. 여기에는 W-버퍼 등의 다양한 종류가 있지만 가장 일반적으로 사용되는 심도 버퍼의 종류는 Z-버퍼이다. 현 세대의 그래픽 하드웨어에서, 심도 버퍼를 기록하고 읽어내는 데에 일반적으로 메모리 대역폭의 약 50% 이상이 점유되고 있다. 하이퍼Z는 최종적 이미지의 어떠한 손상도 수반하지 않으면서 심도 버퍼가 필요로 하는 메모리 대역폭을 대폭 절감해준다. 하이퍼Z 테크놀러지는 새로운 수준의 3D 성능을 구현하기 위해서 3가지의 기법을 사용하고 있는데, 이는 계층적 Z 버퍼와 Z 버퍼 압축, 고속 Z 버퍼 소거라는 기법들이다.

계층적 Z 버퍼

게임 개발자들이 3D 세계를 디자인할 때 직면하는 가장 주요한 문제는 오버드로우(overdraw)이다. 오버드로우가 어떤것인가를 이해하기 위해서 3D로 만들어진 작은 방을 이 방에 나 있는 작은 창문들을 통해서 들여다본다고 상상해보자. 벽의 일부와 방에 있는 물체들은 창을 통해서 보일 것이며, 다른 일부는 보이지 않을 것이다. 대다수의 그래픽 프로세서는 장면에서 어떤 부분이 보일것이며, 어떤 부분이 덮여있는가를, 렌더링 프로세스가 시작되기 전에는 판별해낼 수 없다. 이들은 Z 버퍼를 체크해서 그 픽셀을 그려야 할 것인가 아닌가를 결정한다. 이 과정에서 많은 픽셀들이 프레임 버퍼에 기록된 후에 관찰자로부터 가까이 있는 오브젝트에 있는 픽셀들이 그 위에 겹쳐서 그려질것이다. 오버드로우는 프레임 버퍼 내에서 픽셀을 겹쳐서 그리는 것을 지칭하는 용어이다. 장면에서, 오버드로우가 되어야 하는 정도를 심도의 복잡성이라고 부른다. 이것은 하나의 픽셀이 보여지기 위해서 몇개의 픽셀이 렌더링되어야 하는가를 표현한다. 예를 들어서 어떤 장면이 3의 심도 복잡성을 가지고 있다면, 이 자면이 실제로 보여지기 위해서는 화면에 나타나는 것보다 3배가 많은 픽셀들을 렌더링해야 한다는 것이다. 이것은 이 장면에서 오버드로우가 없을

테크노아의 다른기사 보기  
폰트키우기 폰트줄이기 프린트하기 메일보내기 신고하기
트위터 페이스북 미투데이 요즘 네이버 구글 msn 뒤로가기 위로가기
이 기사에 대한 댓글 이야기 (0)
자동등록방지용 코드를 입력하세요!   
확인
- 200자까지 쓰실 수 있습니다. (현재 0 byte / 최대 400byte)
- 욕설등 인신공격성 글은 삭제 합니다. [운영원칙]
이 기사에 대한 댓글 이야기 (0)
e피플
[e피플] 나이가 대수? 공조냉동기계기능사 필기시험 100점 맞은 NCS교육생
[e피플] 나이가 대수? 공조냉동기계기능사 필기시험 100점 맞은 NCS교육생
나이가 들면 들수록 공부하기가 어렵다는 말이 있다. 더군다나 실업인 상태에서 공부하는 것이라면 부담이 더 클 수 밖에 없다.하지만 이를 비웃듯이 극복하고, 올해 2월 공조냉동기능사...

제호 : 테크노아  |  발행인 : 김필규  |  편집인 : 김필규  |  청소년보호책임자 : 박상규
서울지사 : 서울특별시 구로구 디지털로32가길 18, 7F | 제보 : it@technoa.co.kr
발행소 : 전라북도 전주시 완산구 전룡6길 6 3F | 등록번호 : 전라북도 아00057
등록일자 : 2008년 1월 14일  |  대표전화 : 070-8755-6291  |  FAX : 02-6280-9562
Copyright © 1999-2017 테크노아. All rights reserved. mail to technoa@technoa.co.kr