我有一个UI应用程序,它将输出分别渲染到16,24或32 bpp的屏幕外帧缓冲区。
我需要计算音高,我的理解是音高是一条扫描线中的字节数,是否等于screenx * bitsperpixel?虽然显然它没有产生正确的结果。
我们可以使用公式(通用)来计算音高吗?
答案 0 :(得分:5)
根据this:
视频ram中的缓冲区通常具有与它们相关联的步幅(也称为音高)。步幅是缓冲区的宽度,以字节
表示例如,如果你有一个16位/像素(2字节/像素)的1024x768像素缓冲区,你的步幅将是:
1024像素* 2字节/像素= 2048字节
因此计算它的通用方法是:buffer_width * bytes_per_pixel
然而,重要的是要注意,对于平铺渲染器,帧缓冲区在内存中不是线性的,因此我认为间距是平铺的宽度(我无法找到确认这一点的源)。