왜 GPU 대신 CPU에서 비디오를 렌더링합니까?


8

그럼 난이 알고있는 힘의 아주 바보 같은 질문 같은 소리를하지만, 난 그렇게 그래 ..., 구글을 사용하여 답을 찾을 수 없습니다
그래서, 오픈 CL 및 CUDA와 같은 기술이있다 알지만, 왜, 기본적으로 프로세서가 사용됩니다 예를 들어 비디오 편집 소프트웨어에서 비디오 파일을 렌더링하려면? 그래픽 처리 장치를 사용 하여 그래픽을 처리하는 데 익숙하지 않은 것처럼 보입니다 . 비디오 게임을 할 때 GPU가 내 화면에서 이미지를 생성하는 책임이 있습니까?

다시 말하지만, 이것이 당신에게 어리석게 들릴 수 있음을 알고 있습니다. 부드럽게하세요

편집 : Premiere Pro와 같은 NLE 소프트웨어의 비디오 출력에 대해 구체적으로 이야기하고있었습니다.


3
대부분의 온라인 비디오는 압축되어 있으므로 실제 작업은 CPU에서 처리하는 일반적인 작업 인 파일의 압축을 푸는 것입니다. 라이브러리가 지원하는 경우 GPU는 실제로 파일 압축 / 압축 해제를 처리하는 데 매우 능숙하지만 일반적으로 일반 계산이 아닌 화면에 항목을 그리기 위해 특정 호출에 활용됩니다. 게임은 모두 동적이므로 게임을 활용하므로 GPU를 실제로 활용합니다. 비디오는 즉석에서 생성되지 않습니다.이 좌표에이 색상 픽셀이 미리 정의되어 있으므로 GPU는 그다지 유용하지 않습니다.
ernie

비디오 파일을 렌더링하는 비디오 편집 소프트웨어에 대해 구체적으로 이야기하고 있습니까? 그렇지 않은 경우 다른 예를 제시해 주시겠습니까? 렌더링하는 동안 비디오 편집기에서 사용하는 GPU의 양은 사용중인 렌더링 소프트웨어 패키지에 따라 다릅니다. 있는 그대로 이것은 너무 광범위합니다 (IMO).
Ƭᴇcʜιᴇ007

그렇습니다. 확실하지 않으면 죄송합니다.
MoritzLost

그런 다음 겪고있는 특정 문제에 대해 질문을 편집하고 시도한 소프트웨어, 어떤 OS 및 문제를 해결하려고 시도했는지 포함하십시오. 그런 다음 해당 특정 문제에 대한 특정 질문을하십시오. 많은 비디오 렌더링 패키지 올바르게 구성된 경우 GPU를 사용할 있기 때문에 이것은 너무 광범위 합니다. 그렇다면 우리는 당신이 왜 그렇지 않은지 알아낼 수 있도록 도울 수 있습니다. :)
Ƭᴇcʜιᴇ007

답변:


14

HD는 일이되기 전에 CPU가 비디오 디코딩을 쉽게 처리 할 수있었습니다. 약 8 년 전에 HD가 대중화되면서 GPU 제조업체는 칩에 가속 비디오 디코딩을 구현하기 시작했습니다. HD 비디오 및 기타 슬로건을 지원하는 그래픽 카드를 쉽게 찾을 수 있습니다. 오늘날 모든 GPU는 가속 비디오, 인텔 HD 그래픽과 같은 통합 GPU 또는 그 이전의 인텔 GMA를 지원합니다. 이러한 추가가 없으면 CPU는 에너지 소비 증가는 말할 것도없고 허용 가능한 프레임 속도로 1080p 비디오를 다이제스트하는 데 어려움을 겪을 것입니다. 그래서 당신은 이미 가속 비디오를 매일 사용하고 있습니다.

이제 GPU가 점점 더 일반적인 컴퓨팅 성능을 발휘할 때 비디오 처리를 가속화하는 데 널리 사용됩니다. 이 추세는 가속 디코딩이 도입 된시기와 거의 같은시기에 시작되었습니다. Badaboom과 같은 프로그램은 GPU가 CPU보다 비디오를 (재) 인코딩하는 것이 훨씬 낫다는 것이 밝혀 짐에 따라 인기를 얻었습니다. 그러나 GPU에는 일반적인 계산 능력이 없기 때문에 이전에는 할 수 없었습니다.

그러나 GPU는 이미 중세부터 그림을 확장, 회전 및 변환 할 수 있었기 때문에 왜 비디오 처리에 이러한 기능을 사용할 수 없었습니까? 이러한 기능은 이러한 방식으로 사용되도록 구현되지 않았으므로 여러 가지 이유로 차선책이었습니다.

게임을 프로그래밍 할 때는 먼저 모든 그래픽, 효과 등을 GPU에 업로드 한 다음 다각형을 렌더링하고 적절한 객체를 매핑하면됩니다. 필요할 때마다 텍스처를 보내지 않아도됩니다. 텍스처를로드하고 재사용 할 수 있습니다. 비디오 처리와 관련하여 GPU에 프레임을 지속적으로 공급하고 처리 한 다음 다시 가져와 CPU에서 다시 인코딩해야합니다 (사전 계산 GPU 시간에 대해 이야기하고 있음). 이것은 GPU가 작동하는 방식이 아니기 때문에 성능이 좋지 않았습니다.

또 다른 것은 GPU가 이미지 변환과 관련하여 품질 지향적이지 않다는 것입니다. 40 + fps로 게임을 할 때 약간의 픽셀 표시가 실제로 나타나지 않습니다. 당신이 원하더라도, 게임 그래픽은 사람들이 돌볼 정도로 상세하지 않았습니다. 품질에 약간 영향을 줄 수있는 렌더링 속도를 높이는 데 사용되는 다양한 해킹과 트릭이 있습니다. 비디오는 다소 높은 프레임 속도로 재생되기 때문에 재생시 동적으로 크기를 조절할 수는 있지만 재 인코딩 또는 렌더링은 픽셀에 완벽하거나 최소한의 비용으로 합리적인 비용으로 결과를 생성해야합니다. 적절한 기능이 GPU에서 직접 구현되지 않으면이를 달성 할 수 없습니다.

오늘날 GPU를 사용하여 비디오를 처리하는 것은 기술이 필요하기 때문에 매우 일반적입니다. 이것이 기본 선택이 아닌 이유는 우리가 아닌 프로그램 게시자에게 질문입니다. 아마도 클라이언트는 CPU에서 비디오를 처리하기 위해 하드웨어를 지향한다고 생각할 수 있으므로 GPU로 전환하면 성능에 부정적인 영향을 미치지 만 이는 제 추측입니다. 또 다른 가능성은 GPU 렌더링을 아직 기본으로 설정하기에 충분히 안정적이지 않은 실험적 기능으로 처리한다는 것입니다. GPU 렌더링 버그로 인해 무언가가 망가 졌다는 것을 깨닫기 위해 비디오를 렌더링하는 데 시간을 낭비하고 싶지 않습니다. 어쨌든 사용하기로 결정했다면 소프트웨어 게시자를 탓할 수 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.