Mor*_*ost 8 cpu gpu graphics-card rendering
嗯,我知道这种力量的声音就像一个非常愚蠢的问题,但使用谷歌,所以是...我无法找到答案
所以,我知道有像OpenCL和CUDA技术,但为什么,在默认情况下,使用的处理器从视频编辑软件中渲染例如视频文件?对我来说,图形处理单元不用于处理图形,这似乎违反直觉。在玩视频游戏时,GPU 也负责在我的屏幕上生成图像,不是吗?
再说一次,我知道这对你来说可能听起来很愚蠢。请温柔°A°
编辑:我专门讨论了像 Premiere Pro 这样的 NLE 软件的视频输出
gro*_*taj 14
在 HD 出现之前,CPU 可以轻松处理视频解码。大约 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 渲染错误而搞砸了。如果您无论如何决定使用它,那么您不能责怪软件发行商——这是您的决定。