--> -->
PC 하드웨어 전문 블로그입니다.

사용자 삽입 이미지

현재 판매되는 그래픽 카드들의 GPU 성능은 테라급 성능을 넘어선 GPU들이 출시되고 있습니다. 이번에 등장한 DirectX 11은 단순히 윈도우상에서 그래픽을 처리하는 부분을 넘어서 GPU의 성능을 범용적으로 활용할수 있도록 지원을 하고 있습니다. 물론 MicroSoft사의 DirectX 11은 게임의 비쥬얼적인 부분도 상당히 개선되었기에 리얼한 게임 화면을 제공할 것입니다.

하지만 개인적으로 가장 관심이 있는 부분은 GPU를 범용적으로 활용할수 있도록 만들어 주는 Direct Compute 기능으로 뛰어난 성능을 자랑하는 그래픽 카드의 GPU를 범용적으로 활용할수 있도록 만들어 주기 때문입니다. 이전의 그래픽 카드들은 단순히 게임의 성능을 위해서만 달려왔지만 이미 GPU의 제조사인 Nvidia와 ATI사는 각각 CUDA와 ATI STREAM이라는 API로 그래픽 카드에 사용되는 GPU를 조금더 다양하게 활용할수 있도록 만들고 있었습니다. 현재는 Nvidia CUDA가 더욱더 많이 더욱더 다양한 분야에서 활용이 되고 있지만 마이크로소프트사의 DirectX 11이 출시되면서 각각으로 발전하던 이러한 부분이 운영체제인 윈도우 비스타나 윈도우 7에서 지원이 된다는 것입니다.

현재는 아직까지 DirectX 11의 Direct Compute를 활용하는 프로그램은 없지만 기존에 출시되어 있는 인코딩 프로그램을 이용하여 과연 차후 등장할 프로그램에서 GPU의 성능으로 인한 프로그램에서의 성능을 가늠해 보도록 하겠습니다.

 

사용자 삽입 이미지

윈도우7은 DirectX 11을 지원합니다.

이미 윈도우 7의 RC 버전과 각종 베타버전을 통하여 많은 사용기와 리뷰가 등장하였기에 특별히 윈도우 7에 대하여는 적지 않도록 하겠습니다. 꼭 윈도우 7에 대하여 정보가 필요하시다면 검색엔진에서 찾아보시길 바랍니다.
이번에 다룰 부분은 윈도우 비스타와 윈도우7에서 지원되는 DirectX 11에 대하여 알아보려 합니다. 즉 새로 출시되는 그래픽 카드(현재는 ATI HD5XX0 시리즈 뿐입니다. 엔비디아사는 아직 DirectX 11을 지원하는 그래픽 카드를 출시하지 않은 상태입니다.) 그러나 DirectX 11의 Direct Compute는 DirectX 10을 지원하는 그래픽 카드에서도 작동이 가능하니 이 부분은 크게 신경쓰지 않아도 될 것입니다.

사용자 삽입 이미지

▲ DirectX 11의 추가된 부분

MicroSoft사의 DirectX 11는 기존의 DirextX 10의 기본 구조에서 Full Shader, Tessellator, Domain Shader가 추가된 Shader Model 5.0을 지원하고 있습니다. 그리고 테슬레이션의 기능으로 더욱더 사실적인 게임 환경을 지원하도록 만들어 주었습니다. 여기까지가 게임을 위한 DirectX 11이라면 Multi-Thread 지원과 Direct Compute 지원은 GPU를 범용적으로 만들어주는 기능이라 할수 있습니다.

Multi-Thread는 다중코어 형태로 발전하고 있는 현재의 CPU와 병렬 컴퓨팅에 최적화돤 현재의 GPU를 잘 활용할수 있는 형태인 것입니다. 기존에는 이 Multi-Thread를 어플리케이션의 개발 단계에서 처리해야 했지만 DirectX 11은 이를 DirectX API에서 지원하므로 차후 DirectX 11에서는 클럭이 높은 CPU가 게임에서 더 좋은 성능을 발휘하는 현재의 게임 상황이 발생하지 않고 프로세서의 수가 많을수록 게임의 성능이 잘나오는 형태로 변화할 것입니다. 즉 Multi-Thread를 다양하게 활용이 가능하고 병렬 컴퓨팅에 최적화된 GPU의 Stream Processor 수가 많을수록 좋은 성능을 발휘하는 기반이 된다는 것입니다.

그리고 마지막은 Direct Compute인데, 게임을 제외한 부분에서 그래픽 카드의 GPU는 거의 할일이 없어 전력만 소비하는 제품이었기에 업무용 프로그램들을 구동할때는 그저 좋은 CPU만 선택하고 그래픽 카드는 내장 그래픽을 주로 이용하는 형태였습니다. 하지만 MicroSoft사의 DirectX 11에서 지원하는 Direct Compute로 쉽게 어플리케이션에서 GPU를 활용하는 프로그램을 만들수 있게 되었다는 것입니다.

 

사용자 삽입 이미지
사용자 삽입 이미지

▲ DirectX 11의 샘플

위 이미지는 AMD의 홈페이지(http://game.amd.com/us-en/promotion_dx11.aspx)와 AMD 세미나에서 발표된 이미지들로 기존의 게임 화면에서 볼수없는 세밀하고 현실감나는 케릭터 화면을 보여주고 있습니다. 실시간으로 렌더링되는 광원 효과도 가히 환상적이라 말할수 있을 정도입니다.

 

사용자 삽입 이미지

▲ Nvidia와 ATI 제품 모두 MS DirectX 11을 지원합니다.

현재 출시되는 거의 모든 그래픽카드(ATI HD 5XX0 시리즈 제외)에 장착된 GPU는 DirectX 10과 DirectX 10.1까지 지원되고 있습니다. 하지만 DirectX 11에서 지원되는 Direct Compute 기능은 DirectX 10을 지원하는 그래픽 카드라면 모두 지원이 되고 있으니 현재 윈도우 비스타나 이번달 22일 출시될 윈도우 7을 사용하는 사용자라면 Direct Compute를 만끽할 준비는 되어 있는 것입니다.
이제 이러한 Direct Compute를 사용하는 프로그램만 출시되면 GPU의 월등한 성능을 범용적으로도 활용이 가능할 것입니다.

 

인코딩 시간 테스트

현재 많은 사용를 확보하고 있는 그래픽 카드 6종(XFX HD4850, XFX HD4870, XFX HD 4890, 렉스텍 지포스 GTS250, 게인워드 GTX260, 게인워드 GTX275)과 CPU로 인코딩한 성능을 측정하였습니다.

▶ 테스트 시스템의 스펙

CPU

Intel Core 2 Duo E8400

M/B

MSI P35 Neo-FR

RAM

EK DDR2 6400 2GB x 2 ( 총 4GB )

VGA

XFX HD4850
XFX HD4870
XFX HD4890
렉스텍 지포스 GTS250
게인워드 GTX260
게인워드 GTX275

CPU Cooler

써모랩 바람 CPU 쿨러

파워 서플라이

NCTOP PowerPlus 1000W

ODD LiteOn SOHW-1673SX
HDD Hitachi 1TB
사용 프로그램 PowerDirector 8

기본적으로 같은 시스템에서 그래픽 카드만 교체를 하여 인코딩 테스트를 진행하였습니다. 이전에 "GPU를 활용하는 ATI Stream과 Nvidia CUDA 과연 인코딩 성능은?" 편에서 엔비디아의 CUDA와 ATI사의 ATI Stream을 사용한 프로그램별 성능과 화질을 비교하였습니다.
이번에는 타겟이 'DirectX 11에서 GPU가 과연 어느정도의 성능을 보여줄수 있을까?'하는 생각에서 테스트를 진행하게 되었습니다. 현재는 DirectX 11을 지원하는 게임도 없고 DirectX11의 Direct Compute를 사용하는 프로그램도 현재는 없기때문에 단순하게 동일한 인코딩 프로그램을 사용하여 차후 윈도우7이나 윈도우 비스타에서 DirectX 11의 Direct Compute를 이용한 프로그램이 어느정도 성능을 보여줄수 있을까 가늠해 보도록 하였습니다. 즉 테스트가 DirectX 11이 아니므로 가볍게 봐주시길 부탁드립니다.

 

  XFX ATI
HD4850
XFX ATI
HD4870
XFX ATI
HD4890
렉스텍 지포스
GTS250
게인워드
GTX260
게인워드
GTX275
제조 공정 55나노 55나노 55나노 55나노 55나노 55나노
코어클럭 625 MHz 750 MHz 850 MHz 738 MHz 625 MHz 648 MHz
Stream
Processor
800 개 800 개 800 개 128 개 216 개 240 개
SP 클럭 625 MHz 750 MHz 850 MHz 1836 MHz 1348 MHz 1420 MHz
메모리 종류
/용량
GDDR3
512MB
GDDR5
1GB
GDDR5
1GB
GDDR3
512MB
GDDR3
896MB
GDDR3
896MB
메모리 클럭 1986 MHz 3600 MHz 3900 MHz 2200 MHz 2200 MHz 2370 MHz
메모리
인터페이스
256 bit 256 bit 256 bit 256 bit 448 bit 448 bit

▲ 비교에 사용된 그래픽 카드들의 스펙

그래픽 카드의 인코딩 성능을 비교해 보기위해서 사용한 그래픽 카드는 XFX사의 ATI 제품군 3종과 렉스텍사와 게인워드사의 엔비디아 그래픽 카드 3종을 서로 비교해 보도록 하겠습니다. 각각의 스펙은 위에 표기한 그대로의 성능들 입니다.

 

사용자 삽입 이미지

▲ PowerDirector 8의 설정

PowerDirector 8은 Nvidia CUDA와 ATI STREAM을 모두 지원하는 동영상 제작툴로 이 PowerDirector 8을 가지고 인코딩 시간에 걸린 시간을 테스트 하였습니다. PowerDirector 8의 설정은 편집-옵션 설정에서 Nvidia 그래픽 카드들은 Nvidia CUDA 옵션을 선택하였고, ATI 그래픽 카드들도 마찬가지로 ATI STREAM 옵션을 설정하였습니다.

사용자 삽입 이미지

동영상은 1920 X 1080 풀HD 해상도의 10분 11초 동영상 파일(1.75GB)을 H.264 압축 코덱으로 720 X 480 해상도로 인코딩을 진행하였습니다. 물론 동영상 인코딩을 실시간으로 확인할수 있도록 미리보기 기능도 체크하였습니다. 그래야 GPU에 부하를 더 줄수 있을것이라 생각하였기 때문입니다.

 

사용자 삽입 이미지

인코딩 테스트 시간 비교

인코딩을 진행하는데 걸린 시간을 차트로 표기한 것이기에 바가 짧을수록 좋은 성능을 보여주는 것 입니다. 여기에서 CPU만을 가지고 인코딩을 진행하였을때 1155초나 걸리던 시간이 GPU를 사용하면 일단 인코딩 성능이 비약적으로 빨라진다는 점을 알 수 있습니다.가장 빠르게 진행된건 HD4890 이고, 그 다음이 HD4870입니다. 엔비디아의 GTX275 그래픽 카드도 빠르기는 하지만 800개나 되는 스트림 프로세서수와 QDR로 메모리의 클럭을 더욱더 끌어올려 그동안 Nvidia에 많이 밀려있던 ATI GPU가 역시 좋아졌습니다.


사용자 삽입 이미지

▲ 인코딩후 파일의 용량 비교

인코딩후 저장된 파일의 용량을 비교해 보니 Nvidia CUDA로 인코딩 했을때 파일의 용량이 가장 컸는데 이해가 안되는 부분이라 느껴집니다. 단순히 GPU를 사용하여 인코딩의 성능을 향상시켰다면 동일한 용량의 파일이 생성되어야 하는데 실제로 인코딩한 파일의 용량을 비교해 보니 실상은 그렇지 않았습니다. 어찌되었든 실제로 출력되어 저장된 파일은 Nvidia CUDA를 사용하였을때 486MB이고, CPU로 인코딩 했을때 435MB, ATI STREAM으로 설정하였을때 가장 용량이 적은 336MB를 보여주었습니다.

 

사용자 삽입 이미지Gretech Corporation | GomPlayer 2, 1, 20, 4830 (KOR) | 6:00:41

▲ 원본 이미지

사용자 삽입 이미지

▲ 화질의 비교

인코딩된 동영상 파일의 화질을 비교해 보면 ATI STREAM과 CPU로 인코딩한 동영상에서는 격자 현상이 일어났는데 Nvidia CUDA로 인코딩하였을때는 이러한 격자현상이 ATI STREAM과 CPU로 인코딩한 동영상보다 훨신 적은 화질을 보여주고 있습니다.
화질면에서 보면 ATI STREAM 보다는 Nvidia CUDA가 더 좋은 화질을 보여준다고 판단이 됩니다. 색상은 거의 비슷비슷한 색상을 보여준다고 판단됩니다.

 

사용자 삽입 이미지

▲ Adobe Flash Player 10.1

최근 출시된 Adobe Flash Player 10.1은 GPU 가속을 지원하는 Flash Player로 이 부분은 Nvidia CUDA나 ATI Stream을 활용하는 방법으로 그래픽카드의 GPU를 활용하여 조금더 빠르고 부드럽게 재생이 가능한 형태로 발전하고 있는것 입니다. 이는 MS의 DirectX 11에서 지원하는 Direct Compute도 GPU를 활용하는 부분과 비슷한 느낌을 가지고 있습니다.

 

사용자 삽입 이미지

▲ 현재 개발중인 DirectX 11의 게임들

현재 개발중인 DX11용 게임들은 20종 이상이 개발되고 있으며 올 4분기를 시작으로 계속해서 DX11용 게임들이 출시될 것입니다.
Direct Compute를 활용하는 프로그램은 알수가 없었지만 DirectX 11의 Direct Compute를 활용하는 각종 프로그램도 조만간 나타나지 않을까 싶습니다.

 

사용자 삽입 이미지

Microsoft사는 이전의 윈도우 비스타 실패를 되풀이하지 않기위해서 이번 10월 22일 출시하는 윈도우 7에서는 많은 노력을 기울인 느낌이 듭니다. 일단 윈도우 비스타에서는 이런저런 하드웨어 호환성 문제와 각종 프로그램들의 문제 그리고 국내에서 인증 문제가 있었는데 이번 윈도우 7에서는 이러한 문제를 해결하려 많은 노력을 하고 있습니다.

개인적으로 윈도우 비스타보다 윈도우 7이 더 좋다고 느껴지는 부분은 윈도우 비스타보다 최적화가 더 잘되어 있어서 그런지는 모르겠지만 체감적으로 윈도우 비스타보다 빨라졌다는 점 입니다. 그리고 윈도우XP에서만 실행되고 윈도우 비스타에서는 설치조차 안되는 프로그램을 윈도우 7에서는 가상모드를 이용하여 윈도우 7에서 윈도우XP 프로그램을 구동할수 있도록 만들어 주었습니다.

개인적으로 판단하기에 윈도우 7에서 가장 눈부신 부분은 GPU의 Stream Processor를 활용하여 범용적으로 활용할수 있도록 Direct Compute가 지원된다는 것 입니다. 이를 활용하여 동영상 인코딩은 물론이고 게임에서도 다양하게 활용이 가능하다는 것을 의미하기 때문이죠. 그리고 비디오 인코딩 뿐만 아니라 멀티스레드를 지원하기에 정말 다양하게 GPU의 Stream Processor를 활용할 수 있습니다.

이번에는 단순하게 인코딩 성능만을 알아보았지만 차후 다양하게 프로그램이 출시된다면 또한번 GPU를 활용하는 부분에 대한 성능을 알아보도록 하겠습니다.

 

쩨바의 PC 하드웨어 : http://rssoo.tistory.com

사용자 삽입 이미지

 

* 이 포스트는 blogkorea [블코채널 : PC 하드웨어] 에 링크 되어있습니다.
Posted by 네베르쩨바



달력

«   2018/05   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    


Statistics Graph
오늘 방문자 : 31
어제 방문자 : 168
전체 방문자 : 7,062,023