Trước khi HD là một điều, CPU có thể xử lý giải mã video dễ dàng. Khi HD trở nên phổ biến khoảng 8 năm trước, các nhà sản xuất GPU bắt đầu thực hiện giải mã video tăng tốc trong chip của họ. Bạn có thể dễ dàng tìm thấy các card đồ họa được bán trên thị trường dưới dạng video HD hỗ trợ và một số khẩu hiệu khác. Ngày nay, bất kỳ GPU nào cũng hỗ trợ video tăng tốc, thậm chí các GPU tích hợp như Intel HD Graphics hoặc người tiền nhiệm của chúng, Intel GMA. Nếu không có sự bổ sung đó, CPU của bạn sẽ gặp khó khăn khi cố gắng tiêu hóa video 1080p với tốc độ khung hình chấp nhận được, chưa kể mức tiêu thụ năng lượng tăng. Vì vậy, bạn đã sử dụng video tăng tốc hàng ngày.
Bây giờ khi GPU ngày càng sử dụng sức mạnh tính toán chung, chúng cũng được sử dụng rộng rãi để tăng tốc xử lý video. Xu hướng này bắt đầu vào khoảng thời gian khi giải mã tăng tốc được giới thiệu. Các chương trình như Badaboom bắt đầu trở nên phổ biến vì hóa ra GPU tốt hơn nhiều (tái) mã hóa video so với CPU. Tuy nhiên, điều đó không thể được thực hiện bởi vì GPU thiếu khả năng tính toán chung.
Nhưng GPU đã có thể chia tỷ lệ, xoay và biến đổi hình ảnh từ thời trung cổ, vậy tại sao chúng ta không thể sử dụng các tính năng này để xử lý video? Chà, những tính năng này không bao giờ được triển khai để được sử dụng theo cách như vậy, vì vậy chúng không tối ưu vì nhiều lý do.
Khi bạn lập trình một trò chơi, trước tiên bạn tải tất cả đồ họa, hiệu ứng, v.v. lên GPU và sau đó bạn chỉ cần kết xuất đa giác và ánh xạ các đối tượng phù hợp với chúng. Bạn không phải gửi kết cấu mỗi khi chúng cần thiết, bạn có thể tải chúng và sử dụng lại chúng. Khi xử lý video, bạn phải liên tục cung cấp khung cho GPU, xử lý chúng và tìm lại chúng để mã hóa lại chúng trên CPU (hãy nhớ rằng, chúng ta đang nói về thời gian GPU tính toán trước). Đây không phải là cách GPU được cho là hoạt động, vì vậy hiệu suất không tốt.
Một điều nữa là, GPU không định hướng chất lượng khi chuyển đổi hình ảnh. Khi bạn đang chơi một trò chơi ở tốc độ hơn 40 khung hình / giây, bạn sẽ không thực sự nhận thấy sự sai lệch pixel nhỏ. Ngay cả khi bạn muốn, đồ họa trò chơi không đủ chi tiết để mọi người quan tâm. Có nhiều cách hack và thủ thuật khác nhau được sử dụng để tăng tốc độ kết xuất có thể ảnh hưởng một chút đến chất lượng. Video cũng được phát ở tốc độ khung hình khá cao, do đó việc mở rộng chúng một cách linh hoạt khi phát lại là chấp nhận được, nhưng việc mã hóa lại hoặc kết xuất phải tạo ra kết quả hoàn hảo về pixel hoặc ít nhất là gần nhất có thể với chi phí hợp lý. Bạn không thể đạt được điều đó nếu không có các tính năng phù hợp được triển khai trực tiếp trong GPU.
Ngày nay, việc sử dụng GPU để xử lý video khá phổ biến vì chúng tôi đã yêu cầu công nghệ tại chỗ. Tại sao đó không phải là lựa chọn mặc định là một câu hỏi cho nhà xuất bản chương trình, không phải chúng tôi - đó là lựa chọn của họ. Có thể họ tin rằng khách hàng của họ có định hướng phần cứng để xử lý video trên CPU, vì vậy việc chuyển sang GPU sẽ ảnh hưởng tiêu cực đến hiệu suất, nhưng đó chỉ là phỏng đoán của tôi. Một khả năng khác là họ vẫn coi kết xuất GPU là tính năng thử nghiệm chưa đủ ổn định để đặt nó làm mặc định. Bạn không muốn lãng phí hàng giờ để hiển thị video của mình chỉ để nhận ra một cái gì đó bị hỏng do lỗi kết xuất GPU. Nếu bạn quyết định sử dụng nó, thì bạn không thể đổ lỗi cho nhà xuất bản phần mềm - đó là quyết định của bạn.