[Windows] 라데온 RX460 영상 하드웨어 가속 설정 및 VP9 가속 설정 실험

category 2017.01.31 19:28

안녕하세요. 도정진입니다.


영상 재생용으로 라데온 RX 460 2GB 를 샀었습니다만 크림슨 드라이버의 불안정함과 VP9 코덱 가속의 미지원 때문에 여러가지로 연구를 하고 있었습니다. 기본적으로 결과는 아래와 같습니다.


최신 드라이버 2017년 1월 크림슨 리라이브 기준으로 말씀 드리면, HEVC 가속은 DXVA2-CopyBack 을 사용하지 않아도 정상적으로 가속이 됩니다. 그리고 VP9 코덱의 경우 DXVA2 가속을 통해서 사용하는것은 아직 되지 않습니다.


크롬에서만 정상적으로 가속이 가능합니다.


레지스트리 수정을 통해서 DXVA 가속이 되긴 하지만 영상이 밀립니다. 

(폴라리스 스펙에는 된다고 나와 있는데 아직까지 드라이버가 완전한게 아닌가.... 하고 생각합니다.)



테스트 하는 시스템 환경은 아래와 같습니다.

윈도우10 RS1 버전이며

I5 - 6500 

DDR4 16GB

RX 460


시스템입니다.




1. 팟플레이어 영상 하드웨어 가속 설정하기.


아래 스크린샷은 제가 RX460 이 설치된 컴퓨터에서 스크린샷을 미쳐 찍지 못하여 다른 컴퓨터에서 설정하는 사진을 가져왔음을 알려 드립니다.


먼저 팟플레이어 사용 관련하여 제 성능을 발휘할 수 있도록 64비트 개발자 버전을 설치해 주시길 바랍니다.

(32비트 시스템을 사용중이신 분은 그대로 32비트를 다운받으시면 됩니다.)


http://cafe.daum.net/pot-tool/AZMV/12277


환경설정으로 이동합니다. 코덱 필터 부분테 내장 영상 처리 필터 설정을 사용하지 않음으로 설정합니다.



다음으로 AMD VCE OpenVideo 디코더를 무조건 사용에 체크합니다.



비디오 코덱으로 이동하여 내장 코덱 / DXVA 설정으로 이동합니다.



우측에 DXVA 가속을 사용합니다에 체크합니다.



이렇게 하면 기본적으로 팟플레이어 가속 설정은 끝났습니다.


재생을 한번 해 보겠습니다.


재생 시간이 나오는 부분에 HW / SW 전환 버튼으로 HW 가 되게 설정을 하고 TAB 키를 눌러서 재생정보를 봅니다.


재생정보를 보면 Native DXVA Decoder 로 나옵니다. 


(아래 사진은 GT 220 으로 나옵니다만 RX 460 에서도 동일하게 작동합니다.)






2. HEVC 영상 재생해 보기


아래 화면은 UXN 이라는 채널을 녹화한 파일을 재생하는 부분입니다.

HEVC 10비트는 아니고 8비트 영상입니다.


팟플레이어 CPU 사용량이 7.2퍼센트로 그래픽 가속을 통해 재생이 됨을 확인 할 수 있습니다.


이상하게도 GPU 사용량은 가끔 가다가 40퍼센트 오르락 내리락 합니다.

크림슨 드라이버가 이상하여 GPU 사용량 체크가 정상적으로 되지 않는 것 같습니다.




다음은 동일한 영상을 소프트웨어로 재생하는 부분입니다.


아래 화면에서 보듯이 CPU 사용량이 70 ~ 80 퍼에 머물고 영상 또한 밀립니다.

FPS 부분을 보면 원본 영상이 60FPS 이나 실제 재생은 CPU 성능이 부족하여 26프레임 정도로 나오고 있는 화면입니다.



이처럼 하드웨어 적으로 HEVC 를 가속하여 보는 것에는 문제가 없습니다. 


직접적으로 재생을 해 보지는 않았지만 10비트 재생도 잘 된다고 합니다.





3. VP9 영상 재생 해보기


기본적으로 DXVA 체커를 통해 가속 지원 범위를 확인해 보면 아래와 같습니다.


HEVC 8비트와 10비트 지원에 대한 것이 잘 나와 있습니다.



이 상태에서 유튜브 4K 60FPS VP9 코덱 + OPUS 음성 코덱으로 된 파일을 재생해 보면 아래처럼 소프트웨어로 재생이 됩니다.


CPU 사용량은 50% 정도로 영상이 부드럽게 재생이 되긴 합니다.



한편 VP9 하드웨어 가속을 해 보기 위해서 해외 포럼 글들을 참고해 보았습니다.


https://community.amd.com/thread/208915


이 부분을 참고해 보면 레지스트리 수정으로 VP9 가속을 활성화 할 수 있다고 합니다.


HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000\UMD\DXVA\VForceOCLVP9


아래처럼 위치로 이동하여 0으로 된 값을 1로 주면 하드웨어 가속이 활성화 된다고 합니다.




이렇게 수정을 하고 DXVA 체커를 돌려보면 아래와 같이 VP9 에 대해서 가속을 지원한다고 뜹니다.



그 후 다음팟 플레이어로 상기 부분에서 테스트 한 영상을 HW 활성화 후 재생을 해 보았습니다.


CPU 사용량은 감소하였고 비디오 코덱 부분에서도 DXVA 를 사용하여 가속이 되고 있음을 알 수 있습니다.


그러나 영상 재생은 잘 되지 않았습니다. FPS 부분을 보시면 20프레임도 채 안됨을 알 수 있습니다.


초기에 있던 HEVC 가속 부분도 DXVA2 Copy Back 을 사용해야 했었는데 드라이버 업데이트로 해결이 되었습니다만, VP9 는 아직인것 같습니다. 폴라리스 스펙에는 가속이 된다고 나와 있지만 아직인것 같네요.




4. Microsoft Edge 브라우저에서 재생해보기


한편 들리는 소문으로는 크롬에서 보다 엣지 브라우저에서 유튜브 영상 재생이 잘 된다는 소문이 있습니다. 그래서 한번 재생해 보았습니다.


(지금 상태는 강제 VP9 가속설정을 한 상태입니다.)


기본적으로 4K 업로드가 되어 있는 영상임에도 불구하고 설정을 해 주지 않으면 4K 재생이 되지 않습니다.



이를 해결하기 위해서 브라우저에 about:flags 을 입력하여 아래처럼 설정을 해 주셔야 합니다.


이 상태에서 영상을 재생해 보았습니다. 정상적으로 4K 60FPS 가 선택이 되긴 하나 영상이 밀립니다. 


CPU 사용량 부분도 다음팟 플레이어에서 VP9 하드웨어 가속하여 재생하는 수준과 동일합니다만 영상은 밀립니다.



다시 레지스트리를 수정하여 VP9 강제 가속을 끈 다음 재생을 시도한 부분입니다.


팟플레이어와 동일하게 CPU 사용량이 나오며 영상도 문제없이 나옵니다.


(요즘 CPU 성능이 좋아져서 이 정도는 껌으로 돌리는 듯 합니다.)







5. 크롬에서 재생해보기


크롬에서도 마찬가지로 설정을 하지 않으면 소프트웨어 가속을 하게 됩니다.


아래처럼 CPU 사용량이 치솟게 됩니다.



크롬 media-internals 로 영상 정보를 보게 되면 아래처럼 소프트웨어 코덱으로 재생 중임을 알 수 있습니다.


한 가지 웃긴 점은 VP9 코덱이 크롬에서는 정상적으로 하드웨어 가속이 가능하다는 점입니다. 


아래처럼 크롬 바로가기에 아래 명령어를 추가해 주시면 가속 설정은 끝입니다.


--ignore-gpu-blacklist --enable-accelerated-vpx-decode=2



이후, 크롬 창을 모두 닫고 열면 가속이 활성화 됩니다. 동일 영상을 재생해 보겠습니다.


4K 60FPS 의 경우 아래와 같습니다. 상기의 CPU 60~70 퍼센트와 다르게 20~30 퍼센트 사용량을 보입니다.



다음은 4K 30FPS 영상 재생 입니다.


60 프레임 재생 보다는 CPU 사용량이 조금 낮아 졌습니다.



이때 크롬 media-internals 를 통해 영상 재생이 어떻게 이루어 지고 있는지 체크를 해 보면 아래와 같이 GPU 를 통해 영상 가속을 하고 있음을 알 수 있습니다.




6. 마치며..


라데온 크림슨 드라이버 업데이트를 통해 많은 부분이 개선 되었습니다만, 아직은 VP9 영상을 하드웨어 가속은 범용으로 불가능합니다. 크롬에서만 제한적으로 가속이 가능한 것이 확인 되었습니다.


차차 드라이버가 개선되어 VP9 영상도 하드웨어 가속이 되었으면 좋겠습니다.


RX460 이 가격적으로 메리트가 있고 플루이드 모션과 HEVC 10비트 영상 가속이 원활히 된다는 점 으로 구매를 하였습니다만, 약간 아쉽네요 ㅎㅎ


읽어 주셔서 감사합니다. ㅎㅎ



댓글을 달아 주세요

  1. 지나가던이 신고">2017.04.26 20:21 신고

    와.. 궁금했던 부분인데.. 잘 보았습니다. 박수드립니다!

  2. 4k hdr 신고">2017.05.25 09:11 신고

    좋은글 감사드립니다~~^^ 크롬에 명령어 추가시 레지스트리에 vp9가속설정은 기본값(0)인 상태로 하면되는건가요??

  3. ㅇㅇ 신고">2017.08.03 18:23 신고

    아 써주신대로 해서 한번 성공했는데
    성공 한 뒤에 레지스트리 강제 가속하는거 한번 했다가 바꾸니깐
    팟플레이어가 다시 안되네요...
    몇번을 가속을 껐다 키고 재설치 해봐도.. ㅜㅜ rx560인데 팟플레이어에서라도 가속이되서
    좋아했는데 왜 이럴까요 ㅜ

  4. ㅇㅇ 신고">2017.08.08 02:04 신고

    Graphics Feature Status
    Canvas: Hardware accelerated
    Flash: Hardware accelerated
    Flash Stage3D: Hardware accelerated
    Flash Stage3D Baseline profile: Hardware accelerated
    Compositing: Hardware accelerated
    Multiple Raster Threads: Enabled
    Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
    Rasterization: Software only, hardware acceleration unavailable
    Video Decode: Software only. Hardware acceleration disabled
    Video Encode: Hardware accelerated
    VPx Video Decode: Software only. Hardware acceleration disabled
    WebGL: Hardware accelerated
    Driver Bug Workarounds
    clear_uniforms_before_first_program_use
    disable_discard_framebuffer
    disable_dxgi_zero_copy_video
    disable_framebuffer_cmaa
    disable_nv12_dxgi_video
    exit_on_context_lost
    force_cube_complete
    scalarize_vec_and_mat_constructor_args
    texsubimage_faster_than_teximage




    Problems Detected
    GPU rasterization should only be enabled on NVIDIA Pascal and Maxwell, Intel Broadwell+, and AMD RX-R5 GPUs for now.: 643850
    Disabled Features: gpu_rasterization
    New AMD drivers have rendering glitches with GPU Rasterization: 653538
    Disabled Features: gpu_rasterization
    AMD cards have rendering issues with GPU rasterization on Windows: 660897
    Disabled Features: gpu_rasterization
    Some drivers are unable to reset the D3D device in the GPU process sandbox
    Applied Workarounds: exit_on_context_lost
    TexSubImage is faster for full uploads on ANGLE
    Applied Workarounds: texsubimage_faster_than_teximage
    Clear uniforms before first program use on all platforms: 124764, 349137
    Applied Workarounds: clear_uniforms_before_first_program_use
    Always rewrite vec/mat constructors to be consistent: 398694
    Applied Workarounds: scalarize_vec_and_mat_constructor_args
    ANGLE crash on glReadPixels from incomplete cube map texture: 518889
    Applied Workarounds: force_cube_complete
    Framebuffer discarding can hurt performance on non-tilers: 570897
    Applied Workarounds: disable_discard_framebuffer
    NV12 DXGI video hangs or displays incorrect colors on AMD drivers: 623029, 644293
    Applied Workarounds: disable_dxgi_zero_copy_video, disable_nv12_dxgi_video
    Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198
    Applied Workarounds: disable_framebuffer_cmaa
    Accelerated video decode has been disabled, either via blacklist, about:flags or the command line.
    Disabled Features: video_decode
    Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
    Disabled Features: native_gpu_memory_buffers
    Accelerated VPx video decode has been disabled, either via blacklist or the command line.
    Disabled Features: vpx_decode

    크롬가서 보니 이렇게 나오는데 이게 rx560은 vp9 가속이 지원이 안된다는건가요?ㅜ
    리 리브에서 가속되게 해준다더니 시간이 얼마나 흘렀는데 아직도 안되는걸까요
    560은 정녕 안되는것일지...

  5. 4324124 신고">2018.02.08 12:24 신고

    크롬 cpu 점유율이 확 떨어지긴 했는데 영상이 밀리네요 ㅠㅠ