如何计算帧缓冲区间距

How to calculate Framebuffer pitch?

本文关键字:缓冲 缓冲区 区间 何计算 计算      更新时间:2023-10-16

我得到了一个UI应用程序,它分别以16、24或32bpp的速度将输出渲染到屏幕外的帧缓冲区。

我需要计算间距,我的理解是间距是一条扫描线中的字节数,它等于screenx*bitsperpixel吗?尽管显然它并没有产生正确的结果。

我们能有一个计算音高的公式吗?

据此:

视频ram中的缓冲区通常具有与其相关联的步幅(也称为间距)。步幅是以字节为单位的缓冲区宽度

例如,如果你有一个16位/像素(2字节/像素)的1024x768像素缓冲区,你的步幅将是:

1024像素*2字节/像素=2048字节

因此,计算它的通用方法是:buffer_width*bytes_per_pixel

然而,需要注意的是,对于瓦片渲染器,帧缓冲区在内存中不是线性的,因此我认为间距是瓦片的宽度(我找不到来源来证实这一点)。