【问题标题】:How HD video works on modern hardware(OpenGL)?高清视频如何在现代硬件(OpenGL)上工作?
【发布时间】:2021-02-20 01:59:22
【问题描述】:

在 DOS 时代,我们在计算机中显示图形的方式只是将原始图像数据复制到内存中的每一帧。

由于 CPU 和 GPU 之间的带宽,这被证明是非常无效的。为了以现代分辨率将每一帧发送到屏幕上,我们需要类似的东西

1080 * 1200 * 4(颜色数据)* 60(每秒帧数)= 每秒 311 兆字节。

所以我们将纹理和顶点预加载到 GPU 内存中,然后发送变换。

那么,现代硬件如何解决高清视频播放问题?有没有办法压缩发送到 GPU 的每一帧?还是像过去一样只发送原始的 311MB/s?

【问题讨论】:

    标签: opengl gpu


    【解决方案1】:

    假设至少部分在 GPU 本身上没有进行解压缩,那么是的,您可以通过将每帧图像上传到图形内存来发送视频。

    不过,你的数学是错误的。 1080p 是 1920x1080。 1080p 的 30fps 视频需要约 238MB/秒。而且......这是完全可行的。即使是PCIe 1.0 x1 could handle that (though barely),GPU 也倾向于使用 x16 插槽,因此带宽增加了 16 倍。而且 PCIe 是 4.0 版(在大多数机器上),所以现在要快得多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-01
      • 2012-05-29
      • 1970-01-01
      • 1970-01-01
      • 2012-07-04
      • 2016-12-04
      • 1970-01-01
      相关资源
      最近更新 更多