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 렌더링 버그로 인해 무언가가 망가 졌다는 것을 깨닫기 위해 비디오를 렌더링하는 데 시간을 낭비하고 싶지 않습니다. 어쨌든 사용하기로 결정했다면 소프트웨어 게시자를 탓할 수 없습니다.