Yah saya tahu ini mungkin terdengar seperti pertanyaan yang sangat bodoh, tapi saya tidak bisa menemukan jawaban menggunakan google, jadi ya ...
Jadi, saya tahu ada teknik seperti OpenCL dan CUDA, tetapi mengapa, secara default, prosesor yang digunakan untuk membuat misalnya file video dari perangkat lunak pengedit video? Tampak berlawanan dengan intuisi saya bahwa unit pemrosesan Grafik tidak digunakan untuk memproses, baik, grafik. Saat bermain gim video, GPU bertugas memproduksi gambar di layar saya juga, bukan?
Sekali lagi, saya tahu ini mungkin terdengar bodoh bagi Anda. Harap bersikap lembut ° A °
Sunting: Saya berbicara secara spesifik tentang output video dari perangkat lunak NLE seperti Premiere Pro
graphics-card
cpu
gpu
rendering
MoritzLost
sumber
sumber
Jawaban:
Sebelum HD, CPU dapat menangani decoding video dengan mudah. Ketika HD menjadi populer sekitar 8 tahun yang lalu, produsen GPU mulai menerapkan decoding video yang dipercepat dalam chip mereka. Anda dapat dengan mudah menemukan kartu grafis yang dipasarkan sebagai mendukung video HD dan beberapa slogan lainnya. Saat ini setiap GPU mendukung video yang dipercepat, bahkan GPU terintegrasi seperti Intel HD Graphics atau pendahulunya, Intel GMA. Tanpa tambahan itu, CPU Anda akan kesulitan mencerna video 1080p dengan framerate yang dapat diterima, belum lagi konsumsi energi yang meningkat. Jadi, Anda sudah menggunakan video akselerasi setiap hari.
Sekarang ketika GPU memiliki daya komputasi yang semakin umum, mereka banyak digunakan untuk mempercepat pemrosesan video juga. Tren ini dimulai sekitar waktu yang sama ketika percepatan decoding diperkenalkan. Program-program seperti Badaboom mulai mendapatkan popularitas karena ternyata GPU jauh lebih baik dalam (re) pengkodean video daripada CPU. Itu tidak bisa dilakukan sebelumnya, karena GPU tidak memiliki kemampuan komputasi generik.
Tetapi GPU sudah dapat meningkatkan skala, memutar dan mengubah gambar sejak abad pertengahan, jadi mengapa kita tidak dapat menggunakan fitur ini untuk pemrosesan video? Nah, fitur-fitur ini tidak pernah diimplementasikan untuk digunakan sedemikian rupa, sehingga mereka kurang optimal karena berbagai alasan.
Saat Anda memprogram game, Anda pertama-tama mengunggah semua gambar, efek dll ke GPU dan kemudian Anda hanya membuat poligon dan memetakan objek yang sesuai untuk mereka. Anda tidak perlu mengirim tekstur setiap kali dibutuhkan, Anda dapat memuatnya dan menggunakannya kembali. Ketika datang ke pemrosesan video, Anda harus terus-menerus memasukkan frame ke GPU, memprosesnya dan mengambilnya kembali untuk memasukkannya kembali ke dalam CPU (ingat, kita berbicara tentang waktu pra-komputasi-GPU). Ini bukan cara GPU seharusnya bekerja, jadi kinerjanya tidak bagus.
Hal lain adalah, GPU tidak berorientasi pada kualitas ketika menyangkut transformasi gambar. Saat Anda bermain gim dengan kecepatan 40+ fps, Anda tidak akan benar-benar menyadari kesalahan representasi piksel. Bahkan jika Anda mau, grafik game tidak cukup detail untuk diperhatikan orang. Ada berbagai retasan dan trik yang digunakan untuk mempercepat rendering yang dapat sedikit memengaruhi kualitas. Video diputar pada framerate agak tinggi juga, jadi penskalaan secara dinamis saat pemutaran dapat diterima, tetapi pengodean ulang atau rendering harus menghasilkan hasil yang sempurna piksel atau setidaknya sedekat mungkin dengan biaya yang masuk akal. Anda tidak dapat mencapai itu tanpa fitur yang tepat diimplementasikan secara langsung dalam GPU.
Saat ini menggunakan GPU untuk memproses video cukup umum karena kami membutuhkan teknologi. Mengapa ini bukan pilihan default, lebih merupakan pertanyaan bagi penerbit program, bukan kami - itu pilihan mereka. Mungkin mereka percaya bahwa klien mereka berorientasi pada perangkat keras untuk memproses video pada CPU, jadi beralih ke GPU akan memengaruhi kinerja secara negatif, tapi itu hanya dugaan saya. Kemungkinan lain adalah bahwa mereka masih memperlakukan rendering GPU sebagai fitur eksperimental yang belum cukup stabil untuk menetapkannya sebagai default. Anda tidak ingin membuang waktu merender video Anda hanya untuk menyadari ada sesuatu yang kacau karena bug rendering GPU. Jika Anda memutuskan untuk menggunakannya, maka Anda tidak dapat menyalahkan penerbit perangkat lunak - itu adalah keputusan Anda.
sumber