(linux) 帧缓冲区和 GPU 内存有什么区别?

rai*_*ost 4 embedded video framebuffer

Linux 或软件控制的帧缓冲区与 GPU 内存有什么区别?有没有好的图解指南来解释 Linux 帧缓冲区的工作原理?在带有 GPU 的嵌入式板上,我们通常使用帧缓冲区还是 GPU 来处理实时视频输入?

Gil*_*il' 6

缓冲区是一个内存区域,其内容已准备好显示。内存中可以同时存在多个帧缓冲区:当前显示的一个(针对每个监视器)(前缓冲区)和正在准备的其他帧缓冲区(后缓冲区或工作缓冲区)。

\n\n

帧缓冲区可以由系统的任何部分填充:由在 GPU 上运行的固件、由在 CPU 上运行的内核、由X 服务器、由应用程序\xe2\x80\xa6 填充

\n\n

GPU 提供的绘图功能比在主 CPU 上运行的软件逐一计算像素更快。此功能可以包括 \xe2\x80\x9c 用统一颜色填充此矩形 \xe2\x80\x9d、\xe2\x80\x9c 将此矩形复制到此位置\xe2\x80\x9d、\xe2\x80\x9c 缩小此位置1.5 的矩形\xe2\x80\x9d, \xe2\x80\x9c应用此颜色遮罩\xe2\x80\x9d, \xe2\x80\x9c计算此 3D 对象的透视图\xe2\x80\x9d, \xe2\x80\ x9c解压缩该MPEG流\xe2\x80\x9d,\xe2\x80\xa6

\n\n

渲染视频通常尽可能在 GPU 中完成。GPU 中的专用硬件比通用 CPU 更好(速度更快、功耗更低、内存带宽更少)。

\n