嗯,我知道这种力量的声音就像一个非常愚蠢的问题,但使用谷歌,所以是...我无法找到答案
所以,我知道有像OpenCL和CUDA技术,但为什么,在默认情况下,使用的处理器从视频编辑软件渲染例如视频文件?对我来说似乎不直观,图形处理单元不用于处理图形。在玩视频游戏时,GPU还负责在屏幕上生成图像,不是吗?
再说一次,我知道这听起来很愚蠢。请轻度°A°
编辑:我专门谈论诸如Premiere Pro之类的NLE软件的视频输出
嗯,我知道这种力量的声音就像一个非常愚蠢的问题,但使用谷歌,所以是...我无法找到答案
所以,我知道有像OpenCL和CUDA技术,但为什么,在默认情况下,使用的处理器从视频编辑软件渲染例如视频文件?对我来说似乎不直观,图形处理单元不用于处理图形。在玩视频游戏时,GPU还负责在屏幕上生成图像,不是吗?
再说一次,我知道这听起来很愚蠢。请轻度°A°
编辑:我专门谈论诸如Premiere Pro之类的NLE软件的视频输出
Answers:
在高清成为现实之前,CPU可以轻松处理视频解码。HD大约8年前开始流行时,GPU制造商开始在其芯片中实现加速的视频解码。您可以轻松找到销售为支持高清视频和其他口号的图形卡。如今,任何GPU都支持加速视频,甚至包括集成的GPU(如Intel HD Graphics)或其前身Intel GMA。如果不添加这些内容,您的CPU将很难尝试以可接受的帧速率消化1080p视频,更不用说增加能耗了。因此,您已经每天都在使用加速视频。
现在,当GPU具有越来越多的通用计算能力时,它们也被广泛用于加速视频处理。这种趋势大约是在引入加速解码的同时开始的。诸如Badaboom之类的程序开始受到欢迎,因为事实证明,GPU在(重新)编码视频方面比CPU更好。但是,由于GPU缺乏通用的计算能力,因此以前无法做到。
但是GPU自中世纪以来就已经可以缩放,旋转和变换图片,所以为什么我们不能使用这些功能进行视频处理?好吧,这些功能从未实现过以这种方式使用,因此由于各种原因,它们不是最理想的。
在编写游戏程序时,首先将所有图形,效果等上传到GPU,然后渲染多边形并将适当的对象映射到它们。您不必每次都需要发送纹理,就可以加载它们并重新使用它们。在视频处理方面,您必须不断地向GPU馈送帧,对其进行处理,然后将其取回以在CPU上对其重新编码(请记住,我们所谈论的是GPU的计算时间)。这不是GPU应该工作的方式,因此性能不是很好。
另一件事是,在图像转换方面,GPU并非以质量为导向。当您以40+ fps的速度玩游戏时,您不会真正注意到轻微的像素错误表示。即使您愿意,游戏图形的细节也不足以让人关注。有多种用于加速渲染的技巧和窍门,可能会稍微影响质量。视频也以相当高的帧速率播放,因此可以在播放时动态缩放它们,但是重新编码或渲染必须以合理的成本产生像素完美或至少尽可能接近的结果。如果没有在GPU中直接实现适当的功能,就无法实现这一目标。
如今,使用GPU处理视频非常普遍,因为我们需要适当的技术。为什么不是默认选择,这是程序发行人而不是我们的问题,这是他们的选择。也许他们认为他们的客户具有用于在CPU上处理视频的硬件,因此切换到GPU会对性能产生负面影响,但这只是我的猜测。另一个可能性是,他们仍然将GPU渲染视为实验性功能,但还不够稳定,无法将其设置为默认功能。您不想浪费时间来渲染视频,只是为了意识到由于GPU渲染错误而使某些事情搞砸了。如果您决定仍然使用它,那么您不能责怪软件发行商-这是您的决定。