我可以相信 SDL_Surface::pitch 是不变的吗?

Can I rely on SDL_Surface::pitch being constant?

我正在从事一个利用 SDL 1.2.15 的项目。应用程序构建一个 SDL_Surface 其帧缓冲区然后通过 getDisplaySurface()->pixels 检索并通过串行线发送。

我了解到,SDL_Surface::pixels指向的像素缓冲区不一定是连续的。字节序列可能会被不属于可见图像区域的数据块打断。

这意味着图像的大小为 320×240,但像素缓冲区的大小可能为 512×240。 (我认为由于内存对齐而可能的加速可能是一个正当理由。不过这只是我的假设,没有实际知识支持。)


问题:

就我而言,我碰巧很幸运,像素缓冲区的尺寸正好与我的图像相同。我可以相信像素缓冲区尺寸不会改变吗?

这样我就可以将像素缓冲区的内容发送到串行接口,而不必编写处理删除那些无效块的代码。

SDL uses 4-byte alignment for rows. It also matches OpenGL's default alignment.